回答:
これはshutdown command、から直接実行できますman shutdown。
SYNOPSIS
/sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]
[...]
time When to shutdown.
したがって、たとえば:
shutdown -h 21:45
shutdown -h21:45に実行されます。
この機能を提供しないコマンドについては、次のいずれかを試すことができます。
atデーモンは、まさにこのために設計されています。OSによっては、インストールが必要になる場合があります。Debianベースのシステムでは、これは次の方法で実行できます。
sudo apt-get install at
以下にコマンドを与える方法は3つありますat。
パイプしてください:
$ echo "ls > a.txt" | at now + 1 min
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
実行するコマンドをテキストファイルに保存し、そのファイルをat次の場所に渡します。
$ echo "ls > a.txt" > cmd.txt
$ at now + 1 min < cmd.txt
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
atSTDINからコマンドを渡すこともできます。
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
次に、を押しCtrlDてatシェルを終了します。lsコマンドは1分で実行されます。
あなたはの形式で非常に正確な時間を与えることができる[[CC]YY]MMDDhhmm[.ss]のように、
$ at -t 201403142134.12 < script.sh
これscript.shにより、2014年3月14日の21:34および12秒にスクリプトが実行されます。
もう1つのアプローチはcron、特定の時間にタスクを実行するように設計されたスケジューラを使用することです。通常、繰り返されるタスクに使用されますが、特定の時間を指定することもできます。各ユーザーには、どのジョブをいつ実行するかを制御する独自の「crontab」があります。crontabの一般的な形式は次のとおりです。
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
したがって、たとえば、これはls毎日14:04に実行されます。
04 14 * * * ls
特定の日付のcronjobを設定するには:
を実行して、新しいcrontabを作成しますcrontab -e。これにより、お気に入りのテキストエディタのウィンドウが表示されます。
開いたばかりのファイルにこの行を追加します。この特定の例は、その日が金曜日の場合、2014年3月15日の14:34に実行されます(したがって、OK、複数回実行される可能性があります)。
34 14 15 5 /path/to/command
ファイルを保存し、エディターを終了します。
この SOの答えは、一度だけ実行する方法を示唆していますが、私はそれを使用したことがないため、保証することはできません。
shutdown。でも、そのような悪い経験は気持ちがいいと思う。
shutdownスケジューリングとcron同じ答えを混在させているため、提案に関するものです...ワークステーションであるか、1000ユーザーのメールサーバーであるか(私の悲しい経験)は、悪い習慣の結果についての詳細です。
shutdown、人は含むべきではありませんcron。(ESPそれは恐ろしい考えだ理由を知ることができません誰かと。。)
シャットダウンコマンドで日付を指定することはできませんが、2つの選択肢があります。
1)最も簡単な方法は、atコマンドを使用することです。次の例はshutdown +5、特定の日時に実行されます。
echo "shutdown +5" | at 10:05am 2019-01-19
2)電卓の使用を気にせず、たとえば24時間(24 * 60 = 1440分)でシャットダウンしたい場合、システムがその間に再起動しないことを確信している場合:
shutdown -r +1440
atコマンドを説明することさえしませんでした。
at説明に値しないと思います。そうでないと信じているのを見ることができます。異なる心、異なる見解。
shutdownコマンドでは、日付を指定できません。しかし、noshツールセットshutdownは、長年のBSD構文をサポートしています。