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=
지시어를 사용할 수 있습니다.