インラインcrontabコマンド?

インラインcrontabコマンド?

下のcrontabは大丈夫ですか?

0 4 * * * /sbin/sudo shutdown -r now

bashスクリプトに入れなくても、crontabで単一のコマンドsudo shutdown -rを実行したいと思います。

答え1

通常、sudoプログラムはcrontab制限された環境(特に非常に制限的で制御されていないtty)でcronコマンドを実行します。PATH深刻なセキュリティホールを設置することでこれを達成できますが、望ましい効果を得るための正しい方法は、コマンドをルートにshutdown -r now配置することですcrontab

明らかに、午前4時に問題のコンピュータで何も実行できないと予想されるかもしれませんが、まれにこれらのタスクを実行する場合に備えて、コマンドにshutdown時間をかけて実際のメッセージを提供することができます。その後、そこにいる場合は、その間隔中にシャットダウンをクリーンアップまたは中止できます。 30分間何かを編集しましたが、保存する機会はまったくありませんでしたが、このようなものが表示されたら本当に残念です。

答え2

エクネ、素晴らしいマニュアルを読んでみましたか?

~からman crontab

   The  sixth  field  of  a line in a crontab entry is a string that shall be executed by sh at the specified times. A
   <percent-sign> character in this field shall be translated to a <newline>.  Any character preceded by a <backslash>
   (including the '%') shall cause that character to be treated literally. Only the first line (up to a '%' or end-of-
   line) of the command field shall be executed by the command interpreter. The other lines shall be made available to
   the command as standard input.

PATHには注意を払いますが、フルパス/usr/bin/shutdown(変更が必要な場合があります/etc/sudoers)を含めます。

関連情報