コンピュータが不規則に起動すると仮定しましょう。月に一度起動時に特定のスクリプトを実行したいと思います。ただし、この日にマシンが起動するかどうかわからないため、cronジョブを設定できません。
私はこのアプローチを考えました。
- スクリプトが最後に実行された日付を含むファイルを作成します。
- 私は起動するたびに次のことを行います。
if(file_exists("last_boot.txt"))
{
if(<<more then a month has passed since last date time>>)
{
<<run script>>
}
}
else
{
<<run script>>
}
<<write current date time into the file>>
ファイルトリックを使用せずにいくつかの標準ツールを使用してこれを実行できますか?
答え1
cronを使用してスケジュールに従って*実行して確認します。その他スクリプトのスケジュールの一部:
一方通行:
@reboot /path/to/my_script.sh
if has_run_this_month() {
exit
}
別の方法:
0 0 1 * * /path/to/my_script.sh
if has_run_since_reboot() {
exit
}
*この動作モードにはいくつかの問題があります。
- 1ヶ月以上機械を作動させたことはありますか?この月?どちらの場合もどうなりますか?
- 機械から出たことがありますか?去る一ヶ月以上?これがどこに行くのかがわかります...
- 国の道に固執することをどのように保証しますか?持つ永久どこかに保存)はRAMディスクなので、起動時に消去されませんか?