컬을 사용하여 crontab 스크립트 만들기

컬을 사용하여 crontab 스크립트 만들기

컬과 함께 사용할 cronjob을 설정하려고 합니다. noip.com에서 IP를 업데이트하고 싶습니다. 아래 명령은 noip.com에서 IP를 가져오지만 내 서버 IP로 업데이트하지는 않습니다. 즉, IP가 업데이트되지 않으면 이전 IP를 얻습니다.

curl -X GET 'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic $(base64 <<< $xxxxxxx:$xxxxxx)" -d "hostname=$xxxxx.ddns.net"

아래 명령은 오류를 발생시킵니다sh: GET: command not found

ExecStart=/usr/bin/curl-X GET 'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxxx:$xxxxx>" -d 'hostname=<hostname>.xxxxxx.ddns.net'

적절한 스크립트에 대한 도움이 필요합니다

답변1

최신 Linux 시스템에서는 을 사용하지 않고 시스템 타이머를 사용하고 싶습니다 crontab.

/etc/systemd/system/updateip.service다음 내용으로 파일을 만듭니다 .

[Unit]
Description=Update IP

[Service]
Type=oneshot
ExecStart=/usr/bin/curl -X GET 'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxxx:$xxxxx>" -d 'hostname=<hostname>.xxxxxx.ddns.net'

/etc/systemd/system/updateip.timer이제 다음 내용으로 타이머를 추가하여 10분마다 실행됩니다.

[Unit]
Description=Update IP every 10 minutes

[Timer]
OnCalendar=*:0/10

다음을 실행하여 타이머를 활성화합니다.systemctl start updateip.timer

관련 정보