For now it is rather crude. To get started backing up some manual work is needed.
<pre lang="bash"><code>
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
+</code></pre>
+
+To override the default setting for a specific host do:
+<pre lang="bash"><code>
+cat > /etc/butterbackup/machine1.example.com
+[host]
+exclude = /proc/, /sys, /tmp, /dev, /run, /home/mikael/.gvfs, /.snapshots
+keep=20
</code></pre>
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)):