Programming:Rob backup.sh
From Robupixipedia
Jump to navigationJump to search
Thanks Flominator
#!/bin/bash # before running, copy this file to the wiki root directory, in this case ~/wiki.robnugen.com/w/ FNAME=wiki.rn.com.bak.`date +%Y-%m-%d_%H%M%S` BACKUP_DIR=~/rn.com.back BACKUP_DIR_ID_DOUBLECHECK=00_THIS_IS_THE_BACKUP_DIRECTORY.txt mysqldump -h DBHOST -u DBUSER -pDBPASSWORD DBNAME > ${FNAME}.sql zip -r ${BACKUP_DIR}/${FNAME}.zip images/ ${FNAME}.sql LocalSettings.php extensions/ # for quickly testing zip portion: # zip -r ${BACKUP_DIR}/${FNAME}.zip LocalSettings.php rm ${FNAME}.sql cd ${BACKUP_DIR} if [[ ! -f ${BACKUP_DIR_ID_DOUBLECHECK} ]]; then echo "NOT DELETING FILES because I'm not sure I'm in the backup directory." echo "I failed to find the file " ${BACKUP_DIR}/${BACKUP_DIR_ID_DOUBLECHECK} exit 1 fi pwd ls -al #Count files in directory (hidden files (filename starts with a dot) are ignored) file_count=`ls | wc -l` #Do while there are more than or equal 6 files present while [ $file_count -ge 6 ] do rm `ls -tr | head -n 1` file_count=`ls | wc -l` done # make sure the file date is the very latest and therefore will not be wiped touch ${BACKUP_DIR}/${BACKUP_DIR_ID_DOUBLECHECK}