Examples of Using Crontab
Sample Uses of Cron
If you understand the Basics of Crontab and are ready to create useful tasks, you might wonder what is possible. These are simple 1 liners that you can automate. Here are a few examples of useful crontab tasks:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# basic ping check ping -q -c1 -w3 site.com 2&>1 /dev/null || echo site.com ping failed | mail -ne -s'Server unavailable - site.com' admin@site.com # report on current IP ifconfig eth0 | awk '/inet / {print $2}' | mail -s "Current IP for Site.com" admin@site.com # send info to syslog for processing /usr/local/script.sh 2>&1 |/usr/bin/logger -t script_result # rsync backup (requires keys setup) rsync -rau /sourcedir X.X.X.X:/backup/destdir # backup local file gzip -c ~/.bash_history > ~/.backup/history-save-$(date +\%d-\%m-\%y-\%T).gz # system backup for file in $(find /var/backup -name "backup*" -type f |sort -r | tail -n +10); do rm -f $file; done ; tar czf /var/backup/backup-system-$(date "+\%Y\%m\%d\%H\%M-\%N").tgz --exclude /home/dummy /etc /home /opt 2>&- && echo "system backup ok" # database backup /usr/bin/mysqldump -uroot -p'<pass>' dbname > /backups/$(date +\%Y-\%m-\%d_\%Hh\%M).sql # restart a process that died ps -C thisdaemon || { thisdaemon & } # notify of website change HTMLTEXT=$( curl -s http://site.com > /tmp/new.html ; diff /tmp/new.html /tmp/old.html ); if [ "x$HTMLTEXT" != x ] ; then echo $HTMLTEXT | mail -s "Page has changed." admin@site.com ; fi ; mv /tmp/new.html /tmp/old.html |