diff --git a/files/gnome/backup.sh b/files/gnome/backup.sh new file mode 100644 index 0000000000..6b43f26ee4 --- /dev/null +++ b/files/gnome/backup.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# backup.sh will run FROM backup03 TO the various GNOME boxes on the set. (there's two set +# of machines, one being the ones with a public IP and the others being the IP-less ones that +# will forward their agent through bastion.gnome.org) + +export PATH=$PATH:/bin:/usr/bin:/usr/local/bin + +MACHINES='signal.gnome.org + webapps2.gnome.org + clutter.gnome.org + blogs.gnome.org + chooser.gnome.org + git.gnome.org + webapps.gnome.org + socket.gnome.org + bugzilla-web.gnome.org + progress.gnome.org + clipboard.gnome.org + drawable.gnome.org + vbox.gnome.org + cloud-ssh.gnome.org + bastion.gnome.org + spinner.gnome.org + master.gnome.org + combobox.gnome.org + restaurant.gnome.org + expander.gnome.org' + +IPLESS_MACHINES='live.gnome.org + extensions.gnome.org + view.gnome.org + puppet.gnome.org' + + +BACKUP_DIR='/fedora_backup/gnome/' +LOGS_DIR='/fedora_backup/gnome/logs' + +OPTS='-avz -e "ssh -i /fedora_backup/gnome/backup_id.rsa" --bwlimit=2000' +IPLESS_OPTS='-avz -e "ssh -A -i /fedora_backup/gnome/backup_id.rsa bastion.gnome.org" --bwlimit=2000' + +for MACHINE in "$MACHINES"; do + rsync $MACHINE:/etc/rsyncd/backup.exclude $BACKUP_DIR/excludes/$MACHINE.exclude + cd $BACKUP_DIR/$MACHINE + rsync $OPTS --exclude-from=$BACKUP_DIR/excludes/$MACHINE.exclude --log-file=$LOGS_DIR/$MACHINE.log $MACHINE_NAME:/ . +done + +for MACHINE in "$IPLESS_MACHINES"; do + rsync $MACHINE:/etc/rsyncd/backup.exclude $BACKUP_DIR/excludes/$MACHINE.exclude + cd $BACKUP_DIR/$MACHINE + rsync $IPLESS_OPTS --exclude-from=$BACKUP_DIR/excludes/$MACHINE.exclude --log-file=$LOGS_DIR/$MACHINE.log $MACHINE_NAME:/ . +done + +# Dailyreport needs the logs to generate the data we need. +cd $LOGS_DIR && scp -i /fedora_backup/gnome/backup_id.rsa * combobox.gnome.org:/home/admin/backup-logs