Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- date2stamp () {
- date --utc --date "$1" +%s
- }
- stamp2date (){
- date --utc --date "19700101 $1 sec" "+%Y%m%d"
- }
- dateDiff (){
- case $1 in
- -s) sec=1; shift;;
- -m) sec=60; shift;;
- -h) sec=3600; shift;;
- -d) sec=86400; shift;;
- *) sec=86400;;
- esac
- dte1=$(date2stamp $1)
- dte2=$(date2stamp $2)
- diffSec=$((dte2-dte1))
- if ((diffSec < 0)); then abs=-1; else abs=1; fi
- echo $((diffSec/sec*abs))
- }
- echo "=== Database Dump Script ==="
- echo " - everyday in 3 a.m."
- echo " - by Trilby Yoon"
- cd /home/srt-admin/dbcopy
- NOW=$(date +%Y%m%d)
- echo "Progress: Removing Old Backups & Current States.."
- DIRS=`ls -l $PWD | egrep '^d' | awk '{print $9}'`
- for DIR in $DIRS
- do
- if (($(dateDiff -d ${DIR} $NOW) > 7)); then
- rm ${PWD}/${DIR} -rf;
- fi
- if (($(dateDiff -d ${DIR} $NOW) == 0)); then
- echo "DONE: Today's dump already exist!"
- exit
- fi
- done
- echo "Progress: Dumping MySQL Database & Compressing & Copying"
- #mysqldump --single-transaction --user=$username --password=$password $database | gzip -c | ssh user@host.com "cat > /tmp/db_$NOW.sql.gz"
- mysqldump --single-transaction --user=$username --password=$password $database | gzip -c > srt_db_$NOW.sql.gz
- echo "DONE: Send dump to host.com"
- {
- echo "put db_$NOW.sql.gz"
- } | sftp -v user@host.com
- echo "DONE: Dump COMPLETED!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement