1.首先我們需要檢視磁碟空間,
命令:df -h
我們可以看到根目錄下的磁碟空間比較大,之所以要看磁碟空間,目的是防止我們經常備份資料庫,導致磁碟的容量不夠
2.新建檔案,存放資料庫備份指令碼和備份資料
cd /
mkdir backup
3 在backup目錄下新建指令碼名為backup.sh
vi backup.sh
或vim backup.sh
4.編輯 backup.sh 檔案
我指令碼裡邊的內容如上圖所示
藍色框中圈起來的部分是我後來改的,我一開始寫的是
mysqldump
**如下
mysqldump -u$db_user -p$db_password --all-databases > $backup_dir/sqldata_$time.sql
shell指令碼
########檔名稱為當天時間#############
time="$(date +"%y%m%d%h%m%s")"
echo $time
echo '開始備份資料庫..'
db_user="debian-sys-maint" #資料庫庫的使用者名稱
db_password="kmc3yfl912vugecg" #資料庫的密碼
db_name="cawler" #要備份的資料庫的名稱
backup_dir="/backup" #資料庫要備份到**
all_db_name="sqldata" #用於刪除所有的資料
#備份指定的資料庫
/usr/bin/mysqldump -h127.0.0.1 -u$db_user -p$db_password $db_name > $backup_dir/$db_name"_"$time.sql
/usr/bin/mysqldump -h127.0.0.1 -u$db_user -p$db_password $db_name | gzip > $backup_dir/$db_name"_"$time.sql.gz
#備份所有資料,並進行壓縮
/usr/bin/mysqldump -h127.0.0.1 -u$db_user -p$db_password --all-databases > $backup_dir/sqldata_$time.sql
/usr/bin/mysqldump -h127.0.0.1 -u$db_user -p$db_password --all-databases | gzip > $backup_dir/sqldata_$time.sql.gz
#刪除7天前的備份
find $/ -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;
find $/ -mtime +7 -name "*.sql" -exec rm -rf {} \;
大家如果想要測試刪除備份語句可以試試下邊這兩句話
find $/ -mmin +1 -name "*.sql.gz" -exec rm -rf {} \;
find $/ -mmin +1 -name "*.sql" -exec rm -rf {} \;
這是刪除一分鐘之前的備份的語句
chmod -r 777 backup.sh
執行:
執行命令:
./backup.sh
完成後輸入
ls
看是否備份成功
從上圖中我們可以看到我們資料庫的備份
6.開啟定時任務
crontab 格式
分 時 日 月 周 執行命令
第 1 列分鐘 1~59,每分鐘用 或者/1表示,整點分鐘數為00或0
第 2 列小時 1~23(0 表示 0 點)
第 3 列日 1~31
第 4 列月 1~12
第 5 列星期 0~6(0 表示星期天)
第 6 列要執行的命令
0 3 * * * /backup.sh,此命令表示在每天的凌晨三點執行一次指令碼,可自行調整時間
這樣定期資料備份就完成了
操作
首先我們需要輸入:
crontab -e
進入如下頁面:
我們只需要在我們的最後一行資料定時開啟的命令就好了
最後我們只需要
ctrl + x
然後輸入
y就可以儲存退出了
如果大家看到了這一句,那說明你很有可能成功了,然後就是等待到你設定的時間去驗證。
linux 定時備份資料庫
linux下定時備份mysql使用到了crontab系統,其按日期對備份結果進行儲存,從而達到備份資料庫的目的。1 建立mysql中資料庫的備份目錄,mkdir mysqlbackdir 2 建立mysql備份指令碼,vi usr sbin bak mydb 2012 6 19 edit by ji...
linux 定時備份資料庫 上傳
編輯crontab定時任務,每分鐘執行一次 home oracle bak 1.sh crontab e 1 home oracle bak 1.sh home oracle bak backup.log 自動備份資料庫並將上一次備份資料刪除,並壓縮 根據不同的oracle安裝路徑,設定的路徑不同 ...
linux下定時備份資料庫
為了資料的安全,小弟不才,由於公司沒有dba,資料量也不大 全部400多m 便想了用linux的批處理來進行每天晚上定時備份,將備份檔案按日期命名。不廢話,上步驟 cd var spool cron vim root 指定要執行的批處理檔案路徑。比如 0 23 opt backup.sh 意思是每天...