네트워크가 준비될 때까지 시스템 장치를 지연하는 방법은 무엇입니까?

네트워크가 준비될 때까지 시스템 장치를 지연하는 방법은 무엇입니까?

크론에서 크론으로 전환했습니다.시스템 크론내 Debian 불안정 시스템을 사용하지만 이제 일일 "cron 작업"이 종종 실패합니다. 인터넷에서 데이터베이스를 가져오는 mixmaster를 실행하고 네트워크가 가동되기 전, 일시 중지 상태에서 깨어난 후 cron-daily.timer가 트리거되기 때문입니다. RAM에 연결하면 mixmaster가 서버에 연결할 수 없습니다.

Apr 24 11:02:23 run-parts[13608]: /usr/bin/mixmaster-update: Get failed for http://www.noreply.org/echolot/pgp-all.asc (500 Can't connect to www.noreply.org:80)
Apr 24 11:02:23 run-parts[13608]: Downloading of mlist and/or mixring failed (do you need a proxy?). Aborting.
Apr 24 11:02:23 su[13809]: pam_unix(su:session): session closed for user mixmaster
Apr 24 11:02:23 run-parts[13608]: run-parts: /etc/cron.daily/mixmaster exited with return code 22

네트워크가 가동되어 실행될 때까지 타이머를 지연시킬 수 있습니까?

답변1

cron 대신 systemd 타이머를 사용하십시오.

그런 다음 systemd-unit에서 다음을 지정할 수 있습니다.After=network-online.target and Wants=network-online.target.

답변2

cron보다는 systemd의 타이머를 사용하는 것이 좋습니다. 그런 다음 장치에서 그것이 무엇에 의존하는지 지정할 수 있어야 합니다.

https://wiki.archlinux.org/index.php/Systemd#Handling_dependent

답변3

설정cron 작업은 1분마다 실행되지만 다음과 같은 연결 테스트를 통해 인터넷에 연결되지 않으면 종료됩니다.

nc -zw3 github.com 22 || exit 0

마침내 인터넷에 연결되면 하루에 한 번 anacron 작업이 실행됩니다.

관련 정보