开机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

尝试在启动时运行的 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=指令。

相关内容