cronjob(vestacp/ubuntu)에서 sudo 명령 실행

cronjob(vestacp/ubuntu)에서 sudo 명령 실행

"sudo systemctl restart exim4"와 같은 cron 명령을 추가할 수 있습니까? 일반적으로 cronjob 목록에는 실행 파일에 대한 경로가 있지만, Vestacp에는 "systemctl {action} {service}"와 같이 포함되지 않은 다른 명령 목록이 있는 것처럼 보입니다. 언급된 명령 실행을 사용하여 일종의 파일을 만들어야 합니까? "sudo systemctl restart exim4" 명령을 사용하는 cronjob이 작동하지 않을 것이라고 믿기 때문입니다.

우분투 18.04

답변1

잘,sudotty가 필요할 수 있습니다, 나는 cron에서 tty를 얻지 못할 것이라고 믿습니다. 그러나 가능하다면 sudo시스템 전체의 crontab을 편집할 수 있습니다( /etc/crontab; 또는 에 파일을 넣을 수 있습니다 /etc/cron.d). 이는 cron이 시스템 전체 서비스를 다시 시작하도록 하는 방법입니다.~ 아니다sudo사용자의 crontab에서 .

예를 들어 /etc/crontab내 데비안에는 다음을 넣었습니다.

47 2    * * 2,6 root    systemctl restart transmission-daemon.service

transmission일주일에 두 번 다시 시작하면 (나만의 이유가 있음) 효과가 있다는 것을 알고 있습니다.

시스템 전체 crontab에는 추가 필드( root위 예에서) 가 필요하며루트의 crontab과 다릅니다.

관련 정보