linux定時備份文件夾


一、 編寫腳本

編寫一個腳本文件,使腳本可以執行備份命令。 
例如,將文件目錄 /home/backups/balalala 備份到/home目錄下,並壓縮。

1. 創建腳本

命令格式: touch 路徑/文件名.sh 
例如: 
輸入命令:touch /home/backup.sh 
這里寫圖片描述

2. 寫入命令

首先進入腳本:vi命令 
vi /home/backup.sh 
在腳本內寫入:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
mkdir /home/beifen
#創建一個臨時文件(要保存備份的路徑)
cp -r /home/backups/balalala  /home/beifen
#數據存在backups目錄下,備份到beifen目錄下,所以先將數據拷過來
tar -zcPvf /home/backup$( date +%Y%m%d).tar.gz /home/beifen
  #將數據所在文件夾beifen打包
rm -rf /home/beifen/
  #刪除臨時文件內容
 
find ./ -mtime +30 -name "*.tar.gz" - exec rm -rf {} \;
#刪除改文件夾下超過30天的文件

這里寫圖片描述

3. 執行腳本文件

直接手動執行腳本文件。 
命令格式:sh 路徑/文件名.sh 
例如:sh /home/backup.sh

二、 設置定時執行本腳本。

例如:設置腳本每7天執行一次。

1. 安裝crond

如果沒有安裝crond服務就先裝上服務。 
檢查服務狀態:service crond status

2. 修改crontab內容

輸入命令:crontab –e 
進入后繼續輸入命令:0 0 /7 *  sh /home/backup.sh   ---->一定要加上sh命令
設置為每7天執行一次腳本文件 
然后,保存退出:wq

sh腳本前面五個字段分別表示分鍾(0-59)、小時(0-23)、日(1-31)、月(0-12)、星期幾(0-6)后面的為腳本所在目錄   --->一定要加上sh命令

這里寫圖片描述

3. 重新啟動crond服務

輸入命令:service crond restart

至此配置完成!

1
2
3
4
5
6
7
8
9
10
11
#! /bin/sh
mkdir /home/plantask/temp
#創建一個臨時文件 保存備份的路徑
cp -r /www/xilan /home/plantask/temp
#數據存在plantask目錄下,備份到temp目錄下,所以先將數據拷過來
tar -zcPvf /www/backups/xilan$( date +%Y%m%d%H%M%S).tar.gz /home/plantask/temp  -->時間精確到毫秒
#將數據所在文件夾plantask打包
rm -rf /home/plantask/temp
#刪除臨時文件內容
 
find ./ -mtime +30 -name "*.tar.gz" - exec rm -rf {} \;

crontab

1
2
0 */1 * * * sh /home/plantask/backup.sh  #每小時執行一次
*/1 * * * * sh /home/plantask/backup.sh #每分鍾執行一次 用於調試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM