手把手的教你做好資料庫備份(shell腳本)
#!/bin/bashtime=$(date +"%d-%m-%Y") #備份文件夾命名upload=/mydata/upload/$(date +"%Y-%m-%d") #圖片所在文件夾pre=/home/qzp_homeif [ ! -d "$pre/data_backup/$time" ]then mkdir -p $pre/data_backup/$time echo "create $pre/data_backup/$time"else echo "exist $pre/data_backup/$time"fiif [ -d "$pre/data_backup/$time" ]then mysqldump -uqzp -p123456 --opt qzp user > $pre/data_backup/$time/user.sql #備份一張表格(你要備份多張請自己複製添加) zip -r $pre/data_backup/$time/pic.zip $upload/* #把圖片打包處理 cd $pre/data_backup #enter dir zip -r $time.zip $time/ #最後以壓縮包的形式出現 rm -fr $time #delete cd - echo "zip backup database finished"else echo "can not find backup file"fi
現在來注意個問題,上文zip 命令需要安裝壓縮工具,這個勞請自己 安裝下(不會百度吧,太easy了)
還有個問題,腳本寫好了,誰也沒有精力手動去運行備份吧?所以,接下來關鍵的一點,使用crontab定時器來定時執行腳本,至於crontab請簡單的上網學習下:
1 0 * * 0,1,2,3,4,5,6 /home/backup.sh >> /home/qzp/log/backup.log
這是去轉盤網的備份定時器,原封不動的搬了過來,每天1點備份,重定向輸出備份日誌到:
/home/qzp/log/backup.log
最後上圖,看下備份結果:
ok,分享完了,感謝閱讀!
推薦閱讀: