cron "@reboot" 일정이 네트워크 구성 스크립트를 실행하지 않습니다.

cron "@reboot" 일정이 네트워크 구성 스크립트를 실행하지 않습니다.

버전: 우분투 20.04.6 LTS

내 crontab에는 다음이 있습니다.

@reboot /home/<user>/startup.sh

기타 출력:

<user>@eveng-gcp-v3:~$ ls -la | grep start
-rwxr-xr-x 1 root           root            154 Dec  3 11:57 startup.sh
<user>@eveng-gcp-v3:~$ pwd
/home/<user>

스크립트:

<user>@eveng-gcp-v3:~$ cat startup.sh
ip address add 192.168.0.1/24 dev pnet9

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o pnet0 -s 192.168.0.0/24 -j MASQUERADE

이 3가지 명령은 정확하며 수동으로 실행할 때 예상대로 작동합니다.

시작 시 실행되는지 어떻게 확인하나요?

답변1

cron 스크립트가 실행될 때 네트워크 인터페이스가 준비되지 않았습니다. 지연:

@reboot sleep [time in seconds] && /home/<user>/startup.sh

답변2

스크립트가 누락되었기 때문에 스크립트를 실행할 수 있을지 의심됩니다."셰르본". #!/bin/sh(또는 좋아하는 쉘)을 추가하세요.

cron또한 syslog, OR 의 로그 및 OR root의 메일함에서 오류 메시지를 확인해야 합니다 .

답변3

문제는 내 사용자의 crontab을 사용하고 있는데 일반 사용자가 @reboot작업을 실행할 수 없다는 것입니다. 대신 루트의 crontab( )을 사용했는데 sudo crontab -e예상대로 작동했습니다!

모두 감사합니다!

관련 정보