$ 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