added NOBACKUP dir to excludes
[root/sysbackup.git] / mkbak-sys.sh
1 #!/bin/bash
2 #
3 # Copyright 2011 by Jan Vales <jan@jvales.net> (Someone <someone@somenet.org>)
4 #
5 #    This program is free software: you can redistribute it and/or modify
6 #    it under the terms of the GNU General Public License as published by
7 #    the Free Software Foundation, version 3 of the License.
8 #
9 #    This program is distributed in the hope that it will be useful,
10 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 #    GNU General Public License for more details.
13 #
14 #    You should have received a copy of the GNU General Public License
15 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 #
17
18 BAKNAME="/root/sysbackup/bak_${HOSTNAME}_sys_`date --rfc-3339=date`.tar.lzo"
19 echo "backup started: ${BAKNAME} ($(date --rfc-3339=seconds))"
20 mount /boot
21 tar -capf ${BAKNAME} -X /root/sysbackup/mkbak-sys.excl --exclude /home/root /etc /var /root /boot /home /srv
22 sync
23 umount /boot
24 echo "Backup done ($(date --rfc-3339=seconds)) - cleaning..."
25
26 chown -R root:root /root/sysbackup/
27 chmod -R 600 /root/sysbackup/
28 chmod -R 700 /root/sysbackup/*.sh
29 find /root/sysbackup -name bak_${HOSTNAME}_sys_\* | sort | head -n-4 | while read line ; do echo "removing: $line"; rm $line; done;
30 du -sch /root/sysbackup/bak_${HOSTNAME}_sys_*
31 du -sh /root/sysbackup/
32
33 echo "Cleanup done - propagating updates"
34 RMCMD="find /root/sysbackup -name bak_${HOSTNAME}_sys_\*"' | sort | head -n-3 | while read line ; do echo "removing: $line"; rm $line; done;'
35 #echo $RMCMD
36
37 if [ "`hostname`" != "srv254" ];then
38   echo "Propagating to 10.10.0.254"
39   ssh 10.10.0.254 $RMCMD
40   scp ${BAKNAME} 10.10.0.254:/root/sysbackup
41 else
42   echo "NOT propagating to 10.10.0.254"
43 fi
44
45 if [ "`hostname`" != "srv253" ];then
46   echo "Propagating to 10.10.0.253"
47   ssh 10.10.0.253 $RMCMD
48   scp ${BAKNAME} 10.10.0.253:/root/sysbackup
49 else
50   echo "NOT propagating to 10.10.0.253"
51 fi
52