在腳本解讀之前,先介紹幾個常用的命令
修改文件的修改時間
touch -m -d "2000-01-01 10:10:10" ubuntugege.txt
查找修改日期前n天的文件列表
例如查找:/home/back/mysql目錄下所有後綴.sql.gz的修改日期在14天以前的文件
:$(which find) /home/backup/mysql/*.sql.gz -mtime +14
查找到並刪除文件
:$(which find) /home/backup/mysql/*.sql.gz -mtime +14 -exec rm {} +
下面介紹數據庫腳本文件
mysql_backup.sh
#使用sqldump 遍歷mysql所有非系統數據庫列表,並且執行導出sql操作
#保存了sql文件之後,檢查備份目錄下創建時間較早的文件進行刪除操作
下面介紹腳本里的幾個配置參數
BACKUP_DIR="/home/backup" # 備份路徑
KEEP_MYSQL="14" # 早於當前日期的天數(只保留14天的備份文件,第十五天的時候,會刪除第一天的備份!)
#這個不用說了把,數據庫參數,下面那個備份路徑
MYSQL_HOST="127.0.0.1"
MYSQL_USER="root"
MYSQL_PASS="123"
MYSQL_BACKUP_DIR="$BACKUP_DIR/mysql/"
下面介紹定時任務
參考:https://www.cnblogs.com/michaelzhao10/p/4875719.html
安裝啓動
apt-get install cron
service cron status/stop/start
添加一個定時任務
(默認是將定時任務執行日誌郵件發送到郵箱,如果沒有安裝smtp服務器,可以指定定時任務的執行日誌輸出到某個文件)
crontab –e
# 在打開的編輯器裏寫下你要執行的腳本例如:(每天五點運行backup.sh)
0 5 * * * /root/bin/mysql_backup.sh
查看定時任務列表
#查看用戶username的定時任務
crontab -u username -l
刪除定時任務:
直接 crontab -e 將對應腳本給註釋掉即可。
最後總結一下操作,腳本去花積分下載吧。。。
1.新建定時任務
crontab -e
2.加入以下內容(因爲測試想看效果,頻率是每分鐘,具體頻率設置請自行百度)
*/1 * * * * /home/task_script/mysql_back_up.sh >/home/backup/mysqlback.log>&1 &
腳本下載地址 https://download.csdn.net/download/zjy1211079133/10452589
ps
每五分鐘執行 */5 * * * *
每小時執行 0 * * * *
每天執行 0 0 * * *
每週執行 0 0 * * 0
每月執行 0 0 1 * *
每年執行 0 0 1 1 *