적절한 백업, 복원 및 버전 관리가 가능하므로 개별 사용자의 crontab을 /etc/cron.d로 마이그레이션하고 있습니다.
지금까지 사용자의 crontab과 기타 간의 유일한 차이점은 사용자를 6 번째 열로 지정해야한다는 것입니다. 이게 옳은 거니?
그리고 내 주요 질문은 인터넷 어디에서나 대답을 찾을 수 없었 @reboot
습니다. /etc/cron.d 또는 / etc / crontab에서 사용하는 올바른 방법은 무엇입니까 ?
같은 것
@reboot root command
?
답변
에서 은 crontab man 페이지 :
/etc/cron.d/ 작업
cron.d의 작업은 일반적으로 둘 이상의 사용자가 사용하는 시스템 작업입니다. 그것이 바로 사용자 이름이 필요한 이유입니다. 첫 번째 줄의 MAILTO는 선택 사항입니다.
/etc/cron.d/job의 작업 예
#login as root
#create job with preferred editor (e.g. vim)
MAILTO=root
* * * * * root touch /tmp/file
그것은 / etc의 crontab에 대한 전체 섹션 이므로 작업이 실행되는 이름을 가진 사용자를 포함시키는 것이 실제로 유일한 차이점이라고 생각합니다.
같은 매뉴얼 페이지에서 다시 :
다음과 같은 특수 시간 지정 “닉네임”이 지원되며 5 개의 초기 시간 및 날짜 필드를 대체하고 앞에 ‘@’문자가 붙습니다.
@reboot : 재부팅 후 한 번 실행합니다.
따라서 @reboot 를 사용하는 올바른 방법 은
@reboot user_name command
이다 정확한 .
답변
의 경우에는 /etc/crontab
당신 만이 줄을 추가해야합니다.
@reboot command
여기서 command는 스크립트 또는 단일 파일 일 수 있습니다.
답변
아래와 같이 대화식으로 실행하는 경우 사용자를 지정하지 않습니다.
crontab -e
@reboot /root/mycommand
예를 들어 /etc/cron.d/mycronfile과 같이 /etc/cron.d에 파일로 저장하는 경우 사용자를 배치해야합니다.
@reboot root /root/mycommand