1. 程式人生 > >linux 執行任務crontab 安裝以及備份資料庫 一分鐘 備份一次以及刪除5分鐘之前的 資料 好測試

linux 執行任務crontab 安裝以及備份資料庫 一分鐘 備份一次以及刪除5分鐘之前的 資料 好測試

crontab 安裝 

  1. [[email protected] ~]# yum install vixie-cron

  2. [[email protected] ~]# yum install crontabs

  3. service crond start //啟動服務

  4. service crond stop //關閉服務

  5. service crond restart //重啟服務

  6. service crond reload //重新載入配置

  7. service crond status //檢視crontab服務狀態

啟動服務命令:[

[email protected] /]# service crond start

停止服務命令:[[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