具備配置檔案
每天定時更新,並詳細記錄日誌
對檔案壓縮
保留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命令的這個選項主要用來控制搜尋...