關於指定路徑下目錄檔案的自動備份

2021-08-24 20:59:49 字數 2553 閱讀 5173

具備配置檔案

每天定時更新,並詳細記錄日誌

對檔案壓縮

保留3天的備份資料

包含需要備份的路徑形式:path1:path2:path3

目標目錄:打包到的安全目錄

#filename: .back.rc

#filepath:/home/xinyue/shell/.back.rc

backup_path=/home/xinyue/get:/home/xinyue/ceshi

dest_dir=/data

log=/var/log/backup.log

## 日誌
時間      操作    物件     在磁碟上的資料增加還是減少,多大,是否有錯誤資訊,提示性資訊等

2018-08-17

12:10 backup /home/xinyue/cehi --> error 許可權錯誤

2018-08-17

12:10 backup /home/xinyue/cehi --> home_xinyue_ceshi_2018_8_17.tar

.gz +12k

2018-08-17

12:11 backup home_xinyue_ceshi_2018_8_17.tar

.gz --> remove -12k

錯誤日誌記錄

操作許可權錯誤

【error】permission denied

繼續執行其他

目標資料夾為空

【error】the dest dir %s not exist

結束待備份檔案夾不存在

【error】the dir %s not exist

繼續執行其他

**:

#!/bin/bash

source /home/xinyue/shell/.back.rc

time_now=`date +"%y-%m-%d %h:%m"`

time_file=`date +"%y_%m_%d_%h_%m"`

if [[ ! -d

$dest_dir ]];then

echo

"$time_now 【error】 the dest dir $dest_dir not exists" >> $log

exit

fiecho

"$time_now backup started!" >> $log

for i in `echo

$backup_path | tr ":"

"\n"`;do

if [[ ! -d

$i ]];then

echo

"%time_now backup 【error】 the dir $i not exist" >> $log

continue

fiecho

"$i started"

target=`echo

$i | cut -d

'/'-f

"2-" | tr '/'

'_'`

target="$_$.tar.gz"

tar -czpf $/$

$i ls -al "$/$"

if [[ $? -eq

0 ]];then

size=`du -h $/$ | cut -f

1` echo

"$time_now backup $i --> $target +$" >> $log

else

echo

"$time_now 【error】 something .... " >> $log

fidone

del_list=`find $dest_dir -name "*.tar.gz" -mmin +2` #兩分鐘刪除一次

for i in

$del_list;do

size=`du -h $i | cut -f

1` rm -f

$iecho

"$time_now delete $i --> remove -$" >> $log

done

#### 關於定刪除(corntab) 1.建立corntab

#path: ~/.bashrc

export editor=vim

2.每隔一分鐘備份一次

#定期刪除(分 時 日 月 周 bash /路徑)

#corntab -e

#sudo !!

*/1 * * * * bash /home/xinyue/shell/shell8.sh

​        這段**設定的是每隔一分鐘對檔案目錄進行一次備份,每兩分鐘刪除一次(想要更改時間間隔也很容易),把該配置的目錄檔案都建立了,想要執行他要首先要賦予許可權,在backup.log下執行以下**:

tail -f backup.log

Qt 開啟指定路徑下的檔案目錄

假如我現在要開啟 c users administrator desktop cocos2dx 這個資料夾 只需要呼叫桌面服務類的開啟,通過返回值判斷是否成功開啟.bool ok qdesktopservices openurl qurl c users administrator desktop ...

Qt 開啟指定路徑下的檔案目錄

只需要呼叫桌面服務類的開啟,通過返回值判斷是否成功開啟.bool ok qdesktopservices openurl qurl c users administrator desktop cocos2dx 但是我們這裡會遇到乙個問題 qurl的建構函式中的引數,也就是要開啟的路徑,按照一般來說都...

find 在指定的路徑下查詢指定檔案

1 功能說明 find命令用來在指定的路徑下查詢指定的檔案。其格式如下 find path name options print exec ok 命令 path name find命令查詢的目錄路徑,例如可以用 表示當前目錄,用 表示系統根目錄。options find命令的這個選項主要用來控制搜尋...