標籤:執行 .sh data tail cms acm exist 查看 任務
1、建立自動備份目錄與指令碼
# mkdir /data/MySQLbackup/
# vi backdb.sh
加入以下指令碼內容
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uacm -pacm123 acmdb > /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql
tar czvf /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql.tar.gz /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql
sh checkexist.sh
mv /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql.tar.gz /data/MySQLbackup/$(date +%Y%m%d)/
第一行,注意mysqldump 指令不在root目錄下,所以要給mysqldump 指令加上絕對路徑。方便後續建立定時任務會找到改指令。
第二行,將匯出到本地的sql指令碼打包壓縮,如果不壓縮也可以,處於自己選擇。
第三行,引入一個檢查指令碼,下面列出。
第四行,將未壓縮的原始指令碼刪除。
注意為backdb.sh添加執行許可權
2、添加檢查指令碼
# chmod u+x backdb.sh
# vi checkexist.sh
#!/bin/bash
dire="/data/MySQLbackup/$(date +%Y%m%d)"
if [ -d "$dire" ]; then
echo "檔案夾$(date +%Y%m%d)已存在,不再建立"
rm -rf /data/MySQLbackup/acmdb*.sql
else
mkdir /data/MySQLbackup/$(date +%Y%m%d)
fi
3、加入定時任務
# crontab -e
進入編輯操作,添加一下指令碼的絕對路徑,每分鐘執行一次。
*/1 * * * * /data/MySQLbackup/acmsh/backdb.sh
查看定時任務
# crontab -l
可以追蹤/var/log/cron日誌查看定時任務執行情況。
# tail -f /var/log/cron
MySQL自動備份