CentOSサーバーがあります。サーバーが起動したら、10 minutes
ofの後にコマンドを実行したいと思います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=
ディレクティブを使用できます。