cronからcronに切り替えました。システムクローンDebianの不安定なシステムで作業していますが、毎日「cronジョブ」がインターネットからデータベースを取得するmixmasterを実行し、cron-daily.timerがネットワークの起動前、停止RAMから起動した後にトリガーされるため、頻繁に失敗します。 、mixmasterがサーバーにアクセスできません。
Apr 24 11:02:23 run-parts[13608]: /usr/bin/mixmaster-update: Get failed for http://www.noreply.org/echolot/pgp-all.asc (500 Can't connect to www.noreply.org:80)
Apr 24 11:02:23 run-parts[13608]: Downloading of mlist and/or mixring failed (do you need a proxy?). Aborting.
Apr 24 11:02:23 su[13809]: pam_unix(su:session): session closed for user mixmaster
Apr 24 11:02:23 run-parts[13608]: run-parts: /etc/cron.daily/mixmaster exited with return code 22
ネットワークが起動して実行されるまでタイマーを遅らせることはできますか?
答え1
cronの代わりにsystemdタイマーを使用してください。
その後、システムデバイスで指定できますAfter=network-online.target and Wants=network-online.target
。
答え2
cronの代わりにsystemdのタイマーを使用することをお勧めします。その後、デバイスはそれに依存するものを指定できるはずです。
https://wiki.archlinux.org/index.php/Systemd#Handling_dependent
答え3
私の設定cronジョブは1分ごとに実行されますが、インターネットに接続していない場合は接続テストで終了します。
nc -zw3 github.com 22 || exit 0
最終的にインターネット接続が確立されると、anacron ジョブは 1 日 1 回実行されます。