一:編寫指令碼mysql_m_bak_full.sh
#!/bin/bash
#mysql 全量備份
time=`date +%y%m%d`
now=`date +%f' '%t`
etime=`date -d '-7 day' +%y%m%d`
#備份檔案路徑
mkdir -p /home/mysql_backup/mysql_master/full_back/$time
mkdir -p /home/mysql_backup/mysql_master/full_back/$time/log
backupdir="/home/mysql_backup/mysql_master/full_back/$time"
log_dir="/home/mysql_backup/mysql_master/full_back/$time/log"
delete_dir="/home/mysql_backup/mysql_master/full_back"
#mysql user
user=root
#mysql host
#host=localhost
#mysql password
pass=root
echo "$now begin backup mysql deploybase" >> $log_dir/$time.log
sleep 2
#mysqldump and socket配置絕對路徑
/home/mysql/bin/mysqldump -u$ -p$ --socket=/home/mysql/mysql.sock --all-databases > $backupdir/master_bak_$time.sql
if [ $? -eq 0 ]
then
echo "$now mysql 連線成功 " >> $log_dir/$time.log
echo "$now 開始執行壓縮......" >> $log_dir/$time.log
tar -zcf $backupdir/master_bak_$time.tar.gz -c $backupdir master_bak_$time.sql
if [ $? -eq 0 ]
then
echo "$now 檔案壓縮成功......" >> $log_dir/$time.log
rm -rf $backupdir/master_bak_$time.sql
size=`du -sh $backupdir/master_bak_$time.tar.gz |awk ''`
echo "$now backup mysql deploybase successfully completed" >> $log_dir/$time.log
#傳送郵件
echo "$now 資料庫資料備份成功——全量備份,ip:127.0.0.1,檔案大小為:$size" > /tmp/tmp.log
rm -rf /tmp/tmp.log
else
echo "$now 檔案壓縮失敗......" >> $log_dir/$time.log
echo "$now 資料庫資料備份成功__全量備份,但檔案壓縮失敗,ip:127.0.0.1" > /tmp/tmp.log
rm -rf /tmp/tmp.log
fielse
echo "$now backup mysql deploybase faild" >> $log_dir/$time.log
echo "$now 資料庫資料備份失敗——全量備份,ip:127.0.0.1,請檢查mysql是否正常" > /tmp/tmp.log
rm -rf /tmp/tmp.log
fisleep 5
#刪除目錄下的指定檔案可以用:find 對應目錄 -mtime +天數 -name "檔名" -exec rm -rf {} \;
find $delete_dir -mtime +3 -name "*.*" -exec rm -rf {} \;
if [ $? -eq 0 ]
then
echo "刪除3天前無效資料成功" >> $log_dir/$time.log
else
echo "刪除3天前無效資料失敗" >> $log_dir/$time.log
fi#指令碼新增執行許可權
chmod +x /home/mysql_m_bak_full.sh
二:新增計畫任務實現定期備份(每週6的凌晨2點執行備份指令碼)
crontab -e 編輯計畫任務
00 02 * * 6 sh /home/mysql_m_bak_full.sh
linux web目錄檔案全備指令碼
bin bash 檔案全備指令碼 刪除7天以前的檔案 呼叫方法 yxy www.sql8.net anybooks qq.com 2014 08 20 請主意所有路徑都為全整目錄 sh filebak.sh 要備份的目標目錄 備份檔案存放路徑 保留檔案的天數 sh filebak.sh home w...
mysql怎麼做增備 mysql的全備和增量備份
26 張立 工作原理就是把每次完整備份的binlog 和postion取出,做增量備份的時候取當時的binlog和postion,使用mysqlbinlog 把這之間的資料讀出到另乙個檔案。一 完整備份 vim full mysqldump.sh bin bash dir info date dat...
xtrabackup全備 增備 恢復
全備 innobackupex no timestamp defaults file path my.cnf data backup 20141106 增量1 innobackupex no timestamp defaults file path my.cnf incremental increm...