Linux自動備份目錄,Mysql文件


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

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

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

編寫Shell腳本:

  #vim backup.sh

#! /bin/sh

#! /bin/bash

cd /home/backup

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM