Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Linux Script - Synchronize and keep incremental backup of directories/files

Posted on 2014-02-26
2
Medium Priority
?
932 Views
Last Modified: 2014-03-13
Hi,
I have a site with very active development carried on day-to-day basis. I need to see what files my developer have worked on and need back them up for recovery.
The build of system runs in GB so I don't want to backup all files. Storage is seriously expensive.

I am looking for a linux script to
1. First backup changed files every hour and
2. Then all rsync files from master directory to secondary folder on same or remote server every hour.

Many Thanks
0
Comment
Question by:crazywolf2010
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 35

Accepted Solution

by:
Seth Simmons earned 1000 total points
ID: 39890570
find . -mmin -60 | xargs -I% rsync -tgcop % /bar/%

Open in new window


generally speaking, you would use something like this
you find the files (replace . if you have a specific path and not using current folder)
the mmin -60 is the time specified; searching for anything modified in the last 60 minutes

then filter the results through xargs which will do an rsync to the destination

you can use whatever rsync options you want instead of -tgcop as i used in the example

you can also have multiple rsync processes by adding -P x (something less than 8 for performance reasons) right after xargs though you could leave it out if you have very large files

replace /bar/ with the actual local destination

as far as a remote server is concerned, to automate you would need to setup ssh keys to use without prompting for a password

save it as backup.sh and add cron entry

0 * * * * /path/backup.sh

Open in new window

0
 
LVL 27

Assisted Solution

by:skullnobrains
skullnobrains earned 1000 total points
ID: 39893014
rsync can handle the above by itself by using --compare-dest

-------

rsync has an option to do incremental backups by creating hardlinks of files that did not change using --link-dest. it needs a little scripting to be actually usable in cron. here is an example script to handle incremental backups. the script assumes the destination dir to be local but you can adapt differently. it is just simpler to pull rather than push in this context

# set these up
src=/local/dir
dst=/other/dir

test -L $dst.latest && lnk="--link-dest=$dst.latest"
dst_=$dst.`date +%Y%m%d%H%M%S`
if rsync -az $lnk $src $dst_.part
then
  mv $dst_.part $dst_
  ln -sfn $dst_ $dst.latest
else
  echo RSYNC FAILURE, removing synchronised files >&2
  rm -rv $dst_.part
  exit 1
fi

# cleanup previously failed/incomplete synchros
rm -frv $dst*.part | sed 's/^/RM:	/'

Open in new window


-----------

you can also use a combination of --backup and --suffix in order to store everything in a single directory. use the current date as suffix for example.
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Windows Server 2003 introduced persistent Volume Shadow Copies and made 2003 a must-do upgrade.  Since then, it's been a must-implement feature for all servers doing any kind of file sharing.
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…
To efficiently enable the rotation of USB drives for backups, storage pools need to be created. This way no matter which USB drive is installed, the backups will successfully write without any administrative intervention. Multiple USB devices need t…

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question