CoGe Backups
Jump to navigation
Jump to search
All CoGe source code and data is automatically backed-up to the iPlant Data Store on a weekly basis:
- MySQL Databases: Three most-recent weekly snapshots of the MySQL databases are saved.
- coge main
- cogelinks
- wikidb
- coge main
- Files: A single weekly snapshot of the files are saved.
- Wiki web directory
- SVN repository
- Source data directory
- Wiki web directory
The backup script shown below is run as a cron job on the CoGe server.
#!/bin/bash echo `date` "Backup started" ICMD=/usr/local/bin DAYS_UNTIL_DELETE=21 VERSION=$(date '+%Y%m%d') LOCAL=/storage/root/backup REMOTE=backup # # Dump databases and copy to remote iRODS location # LOCAL_MYSQL=$LOCAL/mysql_$VERSION mkdir -p $LOCAL_MYSQL echo `date` "Dumping MySQL databases" mysqldump -u XXXXXXXX -pXXXXXXXX wikidb -c | gzip -9 > $LOCAL_MYSQL/wikidb.sql.gz mysqlhotcopy -u XXXXXXXX -p XXXXXXXX cogelinks $LOCAL_MYSQL mysqlhotcopy --port=XXXX -u XXXXXXXX -p XXXXXXXX coge $LOCAL_MYSQL echo `date` "Pushing MySQL databases to iRODS" $ICMD/iput -bfr $LOCAL_MYSQL $REMOTE # # Remove old database backups # echo `date` "Deleting old backups (local & remote)" LOCAL_DELETIONS=`find $LOCAL/mysql_* -maxdepth 1 -type d -mtime +$DAYS_UNTIL_DELETE` if [ -n "$LOCAL_DELETIONS" ]; then echo delete local $LOCAL_DELETIONS rm -rf $LOCAL_DELETIONS fi for d in `$ICMD/ils backup | grep 'mysql_' | sed 's/.*\(mysql_.*\)/\1/'` do if [ ! -d $LOCAL/$d ]; then echo delete iRODS backup/$d $ICMD/irm -r backup/$d fi done # # Sync data directories with remote iRODS location # echo `date` "Syncing data directories with iRODS" $ICMD/irsync -rs /opt/apache2/cogepedia i:$REMOTE/cogepedia # NOTE: iRODS doesn't like the .d at the end of SVN.d $ICMD/irsync -rs /storage/SVN.d i:$REMOTE/SVN $ICMD/irsync -rs /storage/coge/data/genomic_sequence/ i:backup/genomic_sequence echo `date` "Backup completed"