私は cron ジョブを使用してofflineimap
2 分ごとに呼び出します:
*/2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1
問題を解決するために、cron ジョブを強制終了する必要がありました。その後、(再起動せずに) cron ジョブを再起動するにはどうすればよいでしょうか? オンラインで次の「解決策」を見つけました:
mylogin@myhost:~$ sudo /etc/init.d/cron restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop cron ; start cron. The restart(8) utility is also available.
cron stop/waiting
cron start/running, process 26958
しかし、 を使用するとps -ef | grep ...
、ジョブが表示されません...何が問題なのでしょうか?
答え1
Cronアプローチ
sudo 権限があれば、cron サービスを停止/開始できます。オンラインで見つけた解決策では、それが説明されていたと思います。
使用している Linux ディストリビューションに応じて、次のコマンドを実行できます。
# redhat distros
$ sudo /etc/init.d/crond stop
... do your work ...
$ sudo /etc/init.d/crond start
または、次のコマンドを実行します。
# Debian/Ubuntu distros
$ sudo service cron stop
... do your work ...
$ sudo service cron start
ロックファイルタイプのアプローチ
また、offlineimap タスクをしばらく実行しないようにしたい場合は、/tmp ディレクトリなどに「dontrunofflineimap」ファイルを配置することもできます。
プロセスは次のように動作します。/tmp 内のファイルを次のようにタッチします。
touch /tmp/dontrunofflineimap
cron ジョブは次のように変更されます。
*/2 * * * * [ -f /tmp/dontrunofflineimap ] || /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1
このファイルが存在する間は、基本的にアプリの実行がブロックされますofflineimap
。再開したい場合は、/tmp/dontrunofflineimap
ファイルを削除するだけです。
答え2
別の解決策としては、crontab を編集してジョブをコメントアウトして無効にすることです。cron
他のジョブもスケジュールできるので、この方法の方が少し便利です。
次のコマンドが役立ちます:
crontab -e
ユーザーの crontab ではなく、root の crontab の場合:
sudo crontab -e
ジョブをコメントアウトするには、#
行の先頭に を追加します。次のようにします。
# */2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1
答え3
あなたは読むことができますhttp://tutscode.com/how-to-use-crontab-in-linux/crontab に関する詳細情報を取得します。