public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Alan McKinnon <alan.mckinnon@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] What utility do you use to sync user files?
Date: Sun, 2 Dec 2012 22:21:05 +0200	[thread overview]
Message-ID: <20121202222105.42091cd4@khamul.example.com> (raw)
In-Reply-To: <CAE9KLYV_JaGTwOtX_TQRQGV7n-+boNZhXk5m8KPD6RiSchxZYA@mail.gmail.com>

As soon as you said "svn" I got the idea you want revisions of files
you send to storage, which is a fine idea. Backups are fine, but if you
have to work at the granularity of "yesterday or maybe the day before"
it can become cumbersome.

To my mind the first question to answer is how do you want to commit
these files to a revision control system. This determines what you do
next. 

If you want it file-by-file, then getting a single file is a
simple svn checkout, but rolling everything back to yesterday (eg for
when you accidentally did an rm on .kde or .mail) will be tricky. To do
this, commit the files to remote svn and just put up with the hassles
of the binary files. Yes, I know binary in SVN is amazingly evil and
makes the worst ever out of Redmond look like child's play, but
sometimes you have no choice... Or use a revision control system that
can deal with binaries OK. All depends on what *you* need stuff to do.

If you are happy committing an entire Makefile run and are OK to work
with that, then you use an FS (or LVM) that can do snapshots, and make
one as the last command in your Makefile. Restores are a case of mount
the snapshot, find the file of interest and do what you need with it.

It really comes down to the old story of "precisely define first
what exactly you want to achieve" and then the tools to do that often
present themselves.


 On Sun, 2 Dec 2012 12:21:40 -0500
Randy Westlund <rwestlun@gmail.com> wrote:

> I've been using rsync to sync binary files, shell scripts, my
> workspace, and random user files under my home directory across
> multiple machines.  I'm using one server as the master copy, which
> makes daily incremental backups of my files to a separate disk with
> rsync.  At the moment, I have my sync script set up as a Makefile with
> the following targets.  I run this from multiple workstations.
> 
> It would be nice to use something as easy as svn, but many of my files
> are binary.  Or something like dropbox would be great.  I don't work
> from windows, so I don't need a cross-platform solution.
> 
> What utilities do you guys use?  Is there a better way to do this?  It
> would be nice to move everything to the background, but I've already
> clobbered a few files by calling this in the wrong order and might
> move the Makefile to an interactive script to protect against that.  I
> have to call 'make clobber' after I remove a local file to push that
> change to the server, and if I forgot to call 'make get' first, I have
> to fix it manually.
> 
> -------sync makefile--------
> get:
>         rsync -azOuvihh --progress -e ssh $(EXCLUDE) \
>         --delete \
>         $(HOST):$(SERVER_DIR) $(LOCAL_DIR)
> 
> put:
>         rsync -azOuvihh --progress -e ssh $(EXCLUDE) \
>         $(LOCAL_DIR) $(HOST):$(SERVER_DIR)
> 
> clobber:
>         rsync -azOuvihh --progress -e ssh $(EXCLUDE) \
>         --delete \
>         $(LOCAL_DIR) $(HOST):$(SERVER_DIR)
> ------end-------
> 
> -------backup script--------
> # if files are already there, hard link
> # the last lines mark it as complete and move a soft link pointer
> rsync -zavi --progress --delete \
>   --link-dest=$BACKUP_PATH/current \
>   $SOURCE $BACKUP_PATH/backup_part_$DATE \
>   && mv $BACKUP_PATH/backup_part_$DATE $BACKUP_PATH/backup_$DATE \
>   && unlink $BACKUP_PATH/current \
>   && ln -s $BACKUP_PATH/backup_$DATE $BACKUP_PATH/current
> -------end---------
> 
> Randy
> 



-- 
Alan McKinnon
alan.mckinnon@gmail.com



  parent reply	other threads:[~2012-12-02 20:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-02 17:21 [gentoo-user] What utility do you use to sync user files? Randy Westlund
2012-12-02 19:02 ` Mark Knecht
2012-12-02 19:07 ` Bruce Hill
2012-12-02 20:21 ` Alan McKinnon [this message]
2012-12-02 20:33 ` Neil Bothwick
2012-12-03  3:14   ` Dustin C. Hatch
2012-12-03  3:44     ` Randy Westlund
2012-12-03  5:12 ` Joseph

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121202222105.42091cd4@khamul.example.com \
    --to=alan.mckinnon@gmail.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox