find命令——linux日誌定期遷移指令碼__linux

來源:互聯網
上載者:User
find命令格式
find  pathname  --options  [-exec -print -ok ..]

find命令參數
pathname:find命令尋找的目錄路徑-print:find命令將匹配的檔案輸出到標準輸出-exec:find命令對匹配的檔案執行該參數給出的shell命令.格式為: command {} \;-ok:類似與exec的作用

find命令選項
-name:按照檔案名稱進行尋找-perm:按檔案許可權來尋找-user:按檔案的使用者主尋找-group:按檔案的使用者組尋找-type:尋找某一類型的檔案b -- 塊裝置檔案        d -- 目錄        c -- 字元裝置檔案        p -- 管道檔案        l -- 符號連結檔案        f -- 普通檔案-mtime:按照檔案的更改時間來尋找檔案-n -- 表示檔案更改時間距現在n天以內        +n -- 表示檔案更改時間距現在n天以前

日誌遷移指令碼 使用了find命令的mtime參數,將2個星期前的記錄檔統一遷移到指定目錄下,有需要的同學可以參考
#!/bin/bash#1.標準定義backup_dir="/backup/log"keep_days=14week_num=`date +%W`flag=`expr $week_num % 2`#2.需要遷移目錄test1="/var/log/nginx/test1"migrate_dir=($test1)#3.遷移備份,每兩周執行一次if [ $flag -eq 1 ];thenfor dir in ${clean_dir[*]}doif [ -d $dir ]; then#構建遷移目錄if [ ! -d $backup_dir$dir ];thenmkdir -p $backup_dir$dirfi#檔案遷移for file in `find $dir -type f -mtime +$keep_days -exec ls {} \;`domv $file $backup_dir$dirdonefidonefi



Crontab每兩周執行日誌遷移指令碼
#日誌定期遷移指令碼0 4 * * 7/2 /home/wangzhengyi/scripts/clean-scripts/migrate.sh


按檔案大小尋找 find命令的size參數可以按照檔案大小進行尋找,size的大小選項如下:


例如我要尋找指定目錄下大於10k的檔案,可以這樣寫命令:



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.