回答:
これはshutdown command
、から直接実行できますman shutdown
。
SYNOPSIS
/sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]
[...]
time When to shutdown.
したがって、たとえば:
shutdown -h 21:45
shutdown -h
21: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
at
STDINからコマンドを渡すこともできます。
$ 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構文をサポートしています。