linux 執行任務crontab 安裝以及備份資料庫 一分鐘 備份一次以及刪除5分鐘之前的 資料 好測試
crontab 安裝
-
[[email protected] ~]# yum install vixie-cron
-
[[email protected] ~]# yum install crontabs
-
service crond start //啟動服務
-
service crond stop //關閉服務
-
service crond restart //重啟服務
-
service crond reload //重新載入配置
-
service crond status //檢視crontab服務狀態
啟動服務命令:[
停止服務命令:[[email protected] /]# service crond stop
情況二:當linux發行的版本沒有service這個命令時候,用如下命令進行停止啟動:
停止服務:[[email protected] /]# /etc/init.d/cron空格stop
啟動服務:[[email protected] /]# /etc/init.d/cron空格start
備份資料庫指令碼
#!/bin/bash
mysqldump -uroot -p123456 yi_xin | gzip > /home/dbbak/yi_xin_$(date +%Y%m%d_%H%M%S).sql.gz
上面的就是備份資料庫 並且制定打包 為 當前 日期結尾 打包檔案 如下圖
我們打包問題解決了 但是還有一個問題就是打包時間久了 檔案會存在很多很多 要是 可以自動定時清理 制定之前的也是不錯的
下面這個指令碼就是清理我們打包的檔案
指令碼檔案
#! /bin/sh
# 刪除指定目錄 結尾檔案( 五分鐘之前)
location="/home/dbbak"
#對應天數查詢 -mtime +3 三天前的
find $location -mmin +5 -name "*.sql.gz" -exec rm -f '{}' \;
我們執行指令碼
很明顯剛才最上面 還有 很多 現在 只是 當前時間 5 分鐘 當然 要是天數怎麼改呢。 -mtime +3 上面有哦!
現在指令碼是我們手動執行的 現在我們要進行 定時執行
crontab -e
編輯執行
定時 執行 自己指令碼
第一行的意思是 ----每一分鐘 執行一下上面的那個bak.sh指令碼 。
每一分鐘就行一次備份
將會對應刪除之前的
過了一會檢視
測試時 ok的
注意作者原創 轉載請註明 出處。
https://blog.csdn.net/qq_25861247/article/details/82498070