How about something like this......
#!/bin/bash
# This script makes a backup of the files on the primary server directory.
# Change the values of the variables to make the script work:
BACKUPDIR=/data/
BACKUPFILES=*.cdf
GZTARFILE=/var/tmp/data_$(date +%F).tar.gz
SERVER=mcastasp1
REMOTEDIR=/home/admin/DATA_BKP
LOGFILE=/home/admin/DATA_BKP/backup.log
CLEANUP=/home/admin/DATA_BKP
cd $BACKUPDIR
# This creates the archive
tar zcf $GZTARFILE $BACKUPFILES > /dev/null 2>&1
# Create Remote backup Directory
ssh $SERVER 'mkdir -p /home/admin/DATA_BKP'
# Copy the file to another host - we have ssh keys for making this work without intervention.
scp $GZTARFILE $SERVER:$REMOTEDIR > /dev/null 2>&1
# Redirect errors because this generates some if the archive
# does not exist.
rm $GZTARFILE 2> /dev/null
# Create a timestamp in a logfile.
date >> $LOGFILE
echo backup succeeded >> $LOGFILE
# Clean up remote server and leave 7 days of backup files
ssh $SERVER 'find /home/admin/DATA_BKP/ -follow -name 'data_*' -ctime +7 -exec rm {} \;'
From: Alan Hoffmeister <alangtk@gmail.com>
To: centos@centos.org
Sent: Mon, January 25, 2010 1:48:19 PM
Subject: [CentOS] Bash script for backup
Hello guyz!
I'm new here, and this is my very first truble...
I need a script that will backup & compress the folder /media/system in
the folder /media/backups
But that's not the problem, I need that only the last 7 backups (last 7
days, yeah I know, cronjob...) will stay in that folder...
The script need:
1 - Compress folder /media/system
2 - Store in /media/backups
3 - Name the compressed backup like day_month_year.tar.gzip
4 - Check the other backups and delete backups older than 7 days..
Can some one help me?
Tanks!