Linux自動備份目錄,Mysql文件

說明:天天定時備份網站,並刪除7天前的備份html

首先在/home/下新建一個文件夾:/backupmysql

  #mkdir /home/backup     #用於保存備份文件sql

編寫Shell腳本:數據庫

  #vim backup.shvim

#! /bin/shbash

#! /bin/bash網站

cd /home/backuprest

mkidr `date +%Y-%m%d`日誌

dateTime=`date +%Y-%m-%d`   #當前系統時間htm

backdescdir=/home/backup/`date +%Y-%m-%d`  #備份文件到該路徑

bakdata=$dateTime.tar.gz  #備份文件名

baklog=$dateTime.log  #備份日誌

baksrcdir=/var/www/html  #須要備份的文件

 

cd $bakdescdir  #進入備份目錄

echo 「backup start at $dateTime」 > $baklog

tar -zcvf $bakdata $baksrcdir $baklog  #壓縮備份文件及日誌

 

find $bakdescdir -type f -name "*.log" -exec rm {} \;  #刪除日誌文件

find /home/backup/ -maxdepth 1 -type d -mtine +7 -exec rm -rf {} \;  #刪除七天前的備份文件

 

:wq  #保存,退出

 

----------------------------------------------------------------------------------------------------------------------------

備份Mysql數據庫文件:

腳本內容:

#! /bin/sh

DB_NAME="數據庫名稱"

DB_USER="用戶"

DB_PASS="密碼"

 

BCK_DIR="/home/backup/`date +%Y-%m-%d`"

DATE=`date +%F`

BAK_DATA=$DB_NAME_$DATE.sql

mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME |gzip > $BCK_DIR/$BAK_DATA

 

:wq

 

其次修改crontab內容

#crontab -e

01 0 * * * /root/file_backup.sh

說明:前五個字段分別表示分鐘、小時、日、月、星期,後面爲腳本所在目錄

最後重啓crontab服務

#service crond restart

相關文章
相關標籤/搜索