起動後10分後に命令を実行する

起動後10分後に命令を実行する

CentOSサーバーがあります。サーバーが起動したら、10 minutesofの後にコマンドを実行したいと思いますbooting up。どうすればいいですか?

$ /usr/bin/curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo": {"context" :"Stop HDFS via REST"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/services/HDFS

答え1

cronでもこれを行うことができます。 /etc/crontabに追加します。

@reboot /bin/sleep 600 && COMMAND

答え2

起動時に実行されるシェルに書き込みます。

at now +10 minutes <<EOF
/usr/bin/curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo": {"context" :"Stop HDFS via REST"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/services/HDFS
echo hello curl > /tmp/curl.log
EOF
  • 良い場所は、最後にあるか、/etc/rc.local実行/etc/rcX.dレベルに慣れている場合です。
  • /tmp/curl.log の生成時間は、カールが実行中かどうかを示します。

答え3

CentOS 7を実行している場合は、systemdタイマーデバイスを使用することもできます(参考資料を参照man systemd.timer)。特にここではOnBootSec=ディレクティブを使用できます。

関連情報