我有一个 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
尝试在启动时运行的 shell 中编写
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 的创建时间将告诉您curl 是否运行。
答案3
如果您运行的是 CentOS 7,您还可以使用 systemd 计时器单元(请参阅 参考资料man systemd.timer
)。特别是,在这里,您可以使用该OnBootSec=
指令。