$ vi backup.sh
#!/bin/bash # This is a script the creates a backup of # monitor instances: .../monitor/inst => .../monitor/backup DATE=`date +"%Y%m%d"` TIMESTAMP=`date +"%Y/%m/%d %T"` FILENAME="inst_backup_$DATE.tar.gz" SRCDIR="inst" DESDIR="backup" tar -cpzf $DESDIR/$FILENAME $SRCDIR if [ $? -eq 0 ]; then echo "$TIMESTAMP: Backup success: $FILENAME" else echo "$TIMESTAMP: Backup error: $?" fi # Any backup older than 30 days are deleted find ./$DESDIR -type f -mtime +30 -delete -printf "$TIMESTAMP: Deleted %16f\n"
for tar:
c - create
p - preserve file and dir permission
z - compress file
f - target filename
$ crontab -e 0 5 * * * cd $HOME/scheduler/monitor && ./backup.sh >> $HOME/scheduler/monitor/backup/logs/monitor.backup.log 2>&1
This would schedule a backup at 5am everyday