לקוח ביקש ממני להריץ כל מיני בדיקות בזמן רנדומאלי ובכמות רנדומאלית של פעמים, רק לבדוק שהמערכת חיה (ולשלוח הודעה על כך).
הוא הגדיר שהמערכת חייבת לרוץ לפחות פעם ביום. אבל גם יכול להיות יותר, וגם זה רנדומאלי.
אז יצרתי את הקוד הבא, בתקווה שיעזור גם לכם:
קוד: |
#!/bin/sh
seq=$(seq -s ' ' $[ $RANDOM % 8 +1 ] )
hour=($(shuf --input-range=0-23 | head -n 8 | tr '\n' ' '))
minutes=($(shuf --input-range=0-59 | head -n 8 | tr '\n' ' '))
for i in $seq ; do
atime=${hour[$i - 1]}${minutes[$i - 1]}
$(at $atime <<< /usr/bin/runsomething)
done |
המערכת תרוץ לפחות פעם אחת ועד 8 פעמים, וככזו אני יוצר שעות ודקות שונים בטווח מסויים ומריץ אותם תחת הפקודה at.
את הסקריפט עצמו, אני שם ב crontab שירוץ פעם ביום (אצלי זה ב12 בלילה).