毎晩の再起動をスケジュールするにはどうすればよいですか?


81

特定のアプリケーション、XBMCを実行しているいくつかの定期的な問題があります。XBMCを定期的に使用する場合、問題はないと思われますが、約12時間以上放置しておくと、再度動作させるために再起動する必要があります。

私はスケジュールされた再起動が答えでないことを知っていますが、問題を把握できるまで、毎朝再起動をスケジュールする必要があります。

受験者はいますか?

回答:


133

cronを使用します(既にインストールされているはずです):

crontabを編集します:

sudo crontab -e

初めて好みのエディター(nanoなど)を選択する必要がある場合は

、次のような行を挿入します。

0 4   *   *   *    /sbin/shutdown -r +5

一番下に。説明:

m      h    dom        mon   dow       command
minute hour dayOfMonth Month dayOfWeek commandToRun

だから行

  0 4   *   *   *    /sbin/shutdown -r +5

毎日午前4時5分にシステムを再起動します。(午前4時+ 5分)

Ctrl+ XYEnter(ナノを使用している場合)のcrontabのあなたを取得する必要があります

注:crontab -eシャットダウンにはルートが必要なため、ルートとして実行する必要がある場合があります。crontab -e新しいcrontabでエラーをチェックできるように、実際のcrontabではなく/ tmpにファイルを開きます。エラーがなければ、実際のcrontabが更新されます。


1
情報をありがとう。私がしなければならなかった唯一のことは、コマンドを/ sbin / shutdownに変更して、私のために機能させることでした。

1
これはうまくいきませんでした。両方crontab -eを使用するとsudo crontab -e、終了するときにファイルが一時的な場所(たとえば、/ tmp / crontab.Y88XQl / crontab)に保存され、タスクは実行されません。/ etc / crontabを直接編集せざるを得なかった
wal

@wal "crontab -eは、実際のcrontabではなく/ tmpにファイルを開くため、新しいcrontabでエラーをチェックし、これらのエラーで実際のcrontabを上書きできないようにします。エラーがない場合、実際のcrontab更新します。" unix.stackexchange.com/questions/197504/...
Christh

14

これを追加する/etc/cron.daily/zz-rebootと動作するはずです:

#!/bin/sh
shutdown -r now

そしてsudo chmod a+x /etc/cron.daily/zz-reboot。「zz」プレフィックスは、そのディレクトリ内の他のすべてのスクリプトの最後に実行することを強制します。/etc/crontab実際に発生する時刻を確認してください:

grep daily /etc/crontab | awk '{print $2 ":" $1}'

それが機能しない場合は、「通常の」cronエントリも次の方法で機能します。 sudo crontab -e

MINUTE HOUR * * * shutdown -r now

最後に、一度だけ再起動したい場合は、次を使用できますat

echo "shutdown -r now" | sudo at 04:30

毎日このファイルを作成したときにシステムが再起動することがわかっている限り、間違っている場合は修正してください
-sBlatt

1
まったくそうではありません:cron.dailyが実行される時間に1日1回再起動しますが、これは少し予測不能です。anacronインストールしていない場合は、現地時間の06:25であり、大丈夫かもしれません(早起きの場合はひどいかもしれません)。そうすると、これがデフォルトだと思いますが、マシンが毎日初めて電源を入れてから10分後になるかもしれません。とにかく、これにcron.dailyは適していません。
-poolie

cron.dailyは、私のシステムで毎晩6:25に実行されます。これは通常、06:00〜06:59のランダムな分に設定されます。システムの時間については/ etc / crontabを参照してください
-elzapp

1
このためにcron.dailyを使用することの最大の問題は、cron.dailyの他のジョブに干渉する可能性があることです。
elzapp

1

Kees Cookの指示に従ってスクリプトを作成する必要があります...

任意のテキストエディタで以下の情報をコピーして貼り付け、zz-reboot提案されたディレクトリにファイルを作成できます。

その後、ファイルを右クリックして実行許可を割り当てることを忘れないでください。ターミナルを使用するだけの場合:

sudo chmod +x /etc/cron.daily/zz-reboot

あなたがいることを覚えてやっていることをよりよく理解するために/etc、フォルダあなたは、一般的にコンフィギュレーションファイルを見つけて、そこにあなたが見つけることができるcron.hourlycron.dailyおよび他のcronのフォルダ。Cronは、特定の時間にアプリケーションとスクリプトを実行します。

再起動時間を厳しくしたい場合は、数字のみ

sudo crontab -e

crontabルートユーザーのを編集できます。

グラフィカルに実行したほうがよい場合は、Software Centerのgnome-scheduleからインストールできます。gnome-schedulefor rootユーザーを変更する場合は、ターミナルから実行してください。

gksudo gnome-schedule

遊んで楽しんでください!:)

PS:素晴らしい点sBlatt!cron.daily手動で実行時間を強制する方法があるかどうか疑問に思っていました。


/ etc / crontabには時間を調整するエントリがありますが、この時点でコンピューターがダウンしている場合、コンピューターの起動後数分で実行されます
-sBlatt

1

私は仕事で約1か月間cronjobsを使用し、電源オフと再起動をスケジュールしています。とても簡単です。これは約5年前に尋ねられたことを知っていますが、まだ問題がある場合は、この方法を使用して設定できます。

ターミナルを開きます(ctrl + T)

sudo nano /etc/crontab

一番下までスクロールして、以下のコマンドを入力します

00 6 * * * root reboot 

これは毎日午前6時に再起動するように設定されており、Enterキーを押します

毎日午後11時に電源オフをスケジュールする場合は、次のように入力できます。

00 23 * * * root poweroff

私はまだ、cronjobがダウンしているときにマシンをパワーオンする方法を理解する必要があります。私はそれを理解したら、この答えを編集します。

PSこれは、フォームへの私の初めての回答投稿です。それが誰かを助けることを願っています!! :D


3
5年前と同じ内容の回答があり、詳細と自動構文検証があります(〜crontab -e)。
デビッドフォースター

1
再起動することを忘れないでくださいcronsudo /etc/init.d/cron restart
brcebn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.