Intentando configurar un cronjob para usarlo con curl. Quiere actualizar la IP en noip.com. El siguiente comando obtiene la IP de noip.com pero no la actualiza con la IP de mi servidor. Quiero decir: cuando la IP no se actualiza entonces me sale la anterior:
curl -X GET 'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic $(base64 <<< $xxxxxxx:$xxxxxx)" -d "hostname=$xxxxx.ddns.net"
este comando a continuación produce un errorsh: 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'
Necesita ayuda para un guión apropiado
Respuesta1
En un sistema Linux moderno, no desea utilizar crontab
temporizadores systemd, sino .
Cree el archivo /etc/systemd/system/updateip.service
con el siguiente contenido:
[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'
Ahora agrega un temporizador /etc/systemd/system/updateip.timer
con el siguiente contenido, para que se ejecute cada 10 minutos:
[Unit]
Description=Update IP every 10 minutes
[Timer]
OnCalendar=*:0/10
Habilite el temporizador ejecutandosystemctl start updateip.timer