From: Mikael Frykholm Date: Mon, 23 May 2016 17:49:07 +0000 (+0200) Subject: Merge branch 'master' of https://github.com/mikaelfrykholm/butterbackup X-Git-Url: https://git.frykholm.com/butterbackup.git/commitdiff_plain/017bc0906a5afadb5ff897995f15919c5278d92e?hp=adb576dde16cbc3f6f0a61794a532a9487f63084 Merge branch 'master' of https://github.com/mikaelfrykholm/butterbackup --- diff --git a/README.md b/README.md index 63397f7..4014f96 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,25 @@ Butterbackup is a backup system which stores snapshots in btrfs on a central ser For now it is rather crude. To get started backing up some manual work is needed.

 Create /etc/butterbackup
-# echo "--exclude /tmp --exclude /proc --exclude /sys --exclude /dev" > /etc/butterbackup/default.cfg
+# cat > /etc/butterbackup/default.cfg
+[DEFAULT]
+exclude = /proc/, /sys, /tmp, /dev, /run
+store_dir = /mnt/data
+keep=10
+(ctrl-d to exit)
 # touch /etc/butterbackup/machine1.example.com
 # touch /etc/butterbackup/machine2.example.com
 # ssh-copy-id root@machine1.example.com
-# ssh-copy-id root@machine1.example.com
-# mkdir /mnt/data2
+# ssh-copy-id root@machine2.example.com
+# mkdir /mnt/data
 # mkfs.btrfs /dev/sdb1
-# mount /dev/sdb1 /mnt/data2  #hardcoded for now
+# mount /dev/sdb1 /mnt/data
+
+ +To override the default setting for a specific host do: +

+cat > /etc/butterbackup/machine1.example.com
+[host]
+exclude = /proc/, /sys, /tmp, /dev, /run, /home/mikael/.gvfs, /.snapshots
+keep=20
 
diff --git a/butterbackup.py b/butterbackup.py index 99cf3c7..2682227 100755 --- a/butterbackup.py +++ b/butterbackup.py @@ -34,8 +34,10 @@ class Host(): print(command + excludes + " root@%s:/ "%(self.name) + self.subvol_dir) check_call(shlex.split(command + excludes + " root@%s:/ "%(self.name) + self.subvol_dir)) except CalledProcessError as ex: - if ex.returncode not in (12, 30): - print("Rsync did not transfer anything from %s, skipping snapshot."%self.name) + if ex.returncode in (24,): + pass + else: + print("Rsync error from %s, skipping snapshot. Rsync exit value=%s"%(self.name, ex.returncode)) return() todays_date = datetime.datetime.now().date().strftime("%F") if os.path.exists(os.path.join(self.host_dir, todays_date)):