What i want to do is use the output from find, diff and then pipe it to cpio. Somewhat like this
find . -print > homefolderMonday
find . -print > homefolderTuesday
diff homefolderMonday homefolderTuesday | cpio --create --format=newc > /mnt/backup/backup.cpio
Problem is that the output from diff can't be piped directly since the output contains other things in addition to the folder and file changes.
So how do i remove the "2684a2685" and ">" part from diff output? I'm also open for other ways to do this so if you have sugestions tell me.
I've made a basic backup utility that backups every users /home folders to a specified mounted partition. It works somewhat like this. PS, this is not the complete code. I can provide it if necesary.
# What user should be backed up?
# Users home directory
# Where to backup to
# What date is it today?
DATE=`date -u +%m%d%y`
# Create users directory in backup directory?
# Create todays directory in users backup directory?
# If 0 the backup process will be aborted after directory checking
if [ -d $BACKUPDIR/$USER ]; then
echo "$BACKUPDIR/$USER exist."
echo "Creating $BACKUPDIR/$USER."
if [ -d $BACKUPDIR/$USER/$DATE.bak
echo "Backup already been done, exiting backup script."
echo "Creating $BACKUPDIR/$USER/$DATE.bak."
if [ $DOBACKUP = "0" ]; then
echo "Making a list of $USERHOME."
find . -print > $BACKUPDIR/$USER/$DATE.bak/$DATE.list
echo "Using $BACKUPDIR/$USER/$DATE.bak/$DATE.list to backup with cpio."
cat $BACKUPDIR/$USER/$DATE.bak/$DATE.list | cpio --create --format=newc > $BACKUPDIR/$USER/$DATE.bak/$DATE-backup.cpio
echo "Updating last update date in $BACKUPDIR/$USER/.last-backup."
date -u +%m%d%y > $BACKUPDIR/$USER/.last-backup
echo "Done backing up for today."
The point of $BACKUPDIR/$USER/.last-backup is so that the script can retrieve the last backup list made so we can diff todays list and last backups list and run it through cpio
Any help and pointers will be gladly taken sorounding different ways to do this.
Thanks for the help in advance.