1.3 KiB
2019-11-21 - Crontab og Bash-script
Lag et bash-script som kjøres automatisk minst en gang i døgnet ved hjelp av crontab. Det er frivillig hva scriptet skal gjøre, men her er noen ideer:
- Ta backup av hjemmeområder
- Sikre at nettverkskortet er UP
- Slette syslog Vær kreative!
Bash-scriptet bruker curl
til å kjøre en HTTP(S) request mot DuckDNS.org for å oppdatere et subdomene med ny IP-adresse (en type dynamic DNS).
Du trenger å spesifisere DOMAIN
og DUCKDNS_TOKEN
(enten i scriptet eller via "environment variable" (envvar)).
For at det skal fungere i crontab
med envvar, må du sette det foran script-kommandoen.
Her er et eksempel som kjører fem minutter over hver time (13:05, 14:05, 15:05 osv.) og hvor alle "echo" blir skrevet til en loggfil /home/alex/logs/duckdns.log
:
5 * * * * DUCKDNS_TOKEN="abc123-def456-ghi789-jkl000" /bin/bash /home/alex/scripts/2019-11-21_crontab/update-duckdns.sh >> /home/alex/logs/duckdns.log
For swagpoints har jeg også laget en logrotate-config for å "rotere" gamle loggfiler. Denne er relevant for alle logs som ligger i /home/alex/logs
, ikke bare den som tilhører dette scriptet:
/home/alex/logs/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 alex alex
}