1

私はcronをいじっています。スクリプトを毎日実行するようにスケジュールし、acron がスケジュールしたときにコンピューターがオフになっている場合、その日の後半にコンピューターの電源をオンにするとスクリプトは実行されますか?

4

4 に答える 4

2

cron.daily は、1 日 1 回、特定の時刻に実行されるようにスケジュールされています。その時点でコンピューターの電源がオフになっていると、コンピューターはそれを見逃します。

/etc/crontabを見て、いつ実行するようにスケジュールされているかを確認してください。そこには、スケジュールの設定が表示されます..そして、次の構造に従います。

MIN HOUR DOM MON DOW CMD

次のようなものが表示されるはずです...

02 4 * * * root run-parts /etc/cron.daily

つまり、毎月、毎週、午前 4 時 2 分過ぎに /etc/cron.daily ファイルを実行します。

于 2013-01-08T14:24:02.593 に答える
1

幸せそうです。スクリプトを毎日実行する必要があるが、要求された時間にコンピューターの電源が入っているかどうかわからない場合は、スクリプトをフォルダー/etc/cron.dailyに入れると、起動時に実行されることを付け加えることができます。Anacron
も使用できます。

于 2013-01-08T14:32:17.307 に答える
1

Ubuntu では、通常はanachronインストール済みです。ジョブの最後の実行間の間隔が 1 日よりも長い場合、次にマシンを起動したときに毎日のジョブが実行されます。マシンの電源が一時的にオフになっている場合、その日の後半にジョブは実行されません。

マニュアルページから:

Anacron は、日単位で指定された頻度で、定期的にコマンドを実行するために使用できます。cron(8) とは異なり、マシンが継続的に実行されていることを想定していません。したがって、通常は cron によって制御される日次、週次、および月次のジョブを制御するために、1 日 24 時間稼働していないマシンで使用できます。

実行すると、Anacron は構成ファイル (通常は /etc/anacrontab) からジョブのリストを読み取ります (anacrontab(5) を参照)。このファイルには、Anacron が制御するジョブのリストが含まれています。各ジョブ エントリは、期間 (日)、遅延 (分)、一意のジョブ ID、およびシェル コマンドを指定します。

各ジョブについて、Anacron は、このジョブが過去 n 日間に実行されたかどうかを確認します。n は、そのジョブに指定された期間です。そうでない場合、Anacron は、delay パラメーターとして指定された分数待機した後、ジョブのシェル コマンドを実行します。

于 2013-01-08T14:27:48.723 に答える
0

残念ながら違います。Cron は、1 分に 1 回構成をチェックし、構成されたコマンドを実行するデーモンです。また、ディストリビューション固有の cron.daily で定義された cronjobs は、特定の時間に実行されます。これは、多くの場合 /etc/crontab で定義されています ( /etc/cron.daily などのすべての構成を読み取ります)。

マシンの実行時間に関係なく、ジョブを 1 日 1 回確実に実行したい場合は、/etc/rc.local起動後にコマンドを実行するようにジョブを追加することをお勧めします。

EDIT Ubuntuのデフォルトのcronであるanacronの方がうまくいっているようです。ミスランディアの答えを読む

于 2013-01-08T14:35:56.207 に答える