루트/sudo를 신경 쓸 필요 없이 일정에 따라 폴더에서 스크립트를 어떻게 실행할 수 있나요? 우분투에는 /etc/cron.hourly
등 /etc/cron.daily
이 있으므로 보고 있는 홈 디렉터리에 아직 폴더가 있는지 궁금합니다.
답변1
먼저 스크립트를 배치할 수 있는 폴더를 생성해야 합니다.
mkdir ~/.config/cron.hourly
mkdir ~/.config/cron.daily
mkdir ~/.config/cron.weekly
mkdir ~/.config/cron.monthly
mkdir ~/.config/cron.yearly
mkdir ~/.config/cron.reboot
crontab -e
그런 다음 스케줄러를 편집하기 위해 실행해야 합니다 . crontab을 처음 실행하는 경우 먼저 터미널 편집기를 선택해야 합니다(기본값 nano 사용). 그런 다음 붙여넣습니다.
@hourly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.hourly )
@daily ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.daily )
@weekly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.weekly )
@monthly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.monthly )
@yearly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.yearly )
@reboot ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.reboot )
(나노) Ctrl+X
닫기를 클릭하고 y
저장을 입력한 후 파일 이름을 확인합니다 enter
.
이제 원하는 스크립트를 이 폴더에 배치하여 일정에 따라 실행할 수 있습니다.
참고: 스크립트에서 기본값 이외의 명령에는 PATH
/usr/bin:/usr/local/bin
전체 경로가 필요합니다.
참고: @reboot
특히 컴퓨터가 콜드 부팅(다시 시작되지 않음)된 경우에만 실행됩니다.
sudo apt-get install postfix
스크립트에 의해 생성된 stdout/stderr을 파일에 기록하기 위해 설치(로컬만 선택)할 수도 있습니다 /var/mail/$USER
.