펌웨어 업데이트 후에도 계속 유지되도록 Ubiquiti Edgerouter-X에서 영구 cronjob을 생성하는 방법

펌웨어 업데이트 후에도 계속 유지되도록 Ubiquiti Edgerouter-X에서 영구 cronjob을 생성하는 방법

우리는 고객 위치에서 수십 개의 Ubiquiti Edgerouter-X를 활성화하고 있습니다. 무엇보다도 매분 IP에 핑을 보내는 일을 담당합니다. 이는 cronjob(crontab -e로 설정)에 의해 수행되며 펌웨어가 업데이트되지 않는 한 제대로 작동합니다.

펌웨어가 최신 버전으로 업데이트되면 cronjob이 기본값으로 "재설정"됩니다. 몇 가지 조사를 한 후에 나는 system task-schedulercronjob 대신을 사용해야 한다는 것을 알았습니다. 그래서 ping.sh에 파일을 만들고 /config/scripts/권한을 설정 0755하고 chmod +x ping.sh. 파일 내용입니다 ping.sh(테스트용).

#!/bin/bash
echo "Ping Pong!"
echo "Ping Pong!!" >> result.txt    

스크립트를 수동으로 실행하면 ./ping.sh스크립트가 제대로 작동하고 에코 Ping Pong!하고 . 스크립트를 실행하려고 하면 아무 작업도 수행되지 않습니다. 2가지 작업 스케줄러 구성을 시도하고 다음 이후에 Edgerouter를 다시 시작했습니다 .Ping Pong!!result.txtsystem task-schedulercommit; save;

show system task-scheduler task
 task ping-task {
     crontab-spec "* *  *   *   *"
     executable {
         path /config/scripts/ping.sh
     }
 }

그리고

show system task-scheduler task
 task ping-task {
     executable {
         path /config/scripts/ping.sh
     }
     interval 1m
 }

내가 뭘 잘못했나요? 그것에 관한 여러 주제를 확인했습니다.https://community.ui.com/하지만 해결책을 찾지 못했습니다..

답변1

귀하의 솔루션은 나에게 완벽하게 괜찮아 보였습니다.EdgeRouter X v2.0.9-hotfix.1).

파일 을 작성할 때 상대 경로나 권한에 문제가 있었던 것 같습니다 result.txt.

result.txt나는 (디렉토리에서 ) 에 대한 절대 경로를 설정했고 /tmp그것은 나에게 효과적이었습니다.

cat > /config/scripts/pinger.sh <<'EOF'
#!/bin/bash
echo "Ping Pong!!" >> /tmp/result.txt
EOF

chmod +x /config/scripts/pinger.sh

configure
set system task-scheduler task pinger executable path /config/scripts/pinger.sh
set system task-scheduler task pinger interval 1m
commit ; save ; exit

watch cat /tmp/result.txt

마지막 명령을 사용하면 1분마다 한 줄이 추가되는 것을 볼 수 있습니다.

관련 정보