個人的なメモを記していくためのページです。
unixで指定した時間や後でマシンの負荷が低いときに仕事をさせたいときはatを使う。指定時間に繰り返すときはcron。きまぐれで 夜9時から明け方6時まで間のランダムな時刻に毎日あるジョブを実行する方法を考えた。cronとatを組み合わせた2段階方式。
$ cat submit.sh #/bin/bash PATH=/usr/bin:/bin HOUR=`(seq 21 23 ; seq 0 6) | sed -n \`jot -r 1 1 11\`p` MIN=`jot -r 1 0 59` at -f /PATH_TO_JOB/job-a.sh $HOUR:$MIN $ crontab -l 0 7 * * * /PAHT_TO_SUBMIT/submit.sh
乱数で時刻を決定する方法が何か簡単な方法がある気はするが、ここではjotというコマンドを使っている。(cf.On-line Manual of "jot") jotはBSD由来なので(多分)別途インストールしないといけないかも。debianにはパッケージがある。
問題点