你好一行命令就好了。
find /文件路徑 -name "dirName" -mtime +30 -exec rm {} \;
㈡ linux 下如何編寫定時刪除某目錄下文件的腳本
自己編寫crontab設定計劃任務就是了,
那個服務就是做這些定時的,自動化的工作用的。要寫什麼腳本的,一個命令搞定。
給你個手冊頁自己看吧。
補充回答:
運行這個命令:
crontab
-e
此命令將打開一個文本編輯器以添加新任務。
*
20
*
*
*
rm
-rf
/root/febhost/dat/*
/root/febhost/log/*
用對應的文本編輯器命令保存退出(vi編輯器是按esc後打:wq)
如果你對這種方式不熟悉,也可以直接改/etc/crontab,我看到你是要刪除root文件夾內的目錄,假設你有root許可權(因為/etc/crontab所有者是root,並且只有以root身份執行刪除命令才能刪除root
home內的文件),用以下命令打開此文件:
vi
/etc/crontab
將游標移動至最後一行,按o鍵新開一行輸入以下內容:
*
20
*
*
*
root
rm
-rf
/root/febhost/dat/*
/root/febhost/log/*
給你解釋下此行的含義吧,前五個以4個空格分隔開的值依次表示:分、時、日、月、周,如果取所有值就是打*號,如果你想周期性的運行一個任務,crontab也接受范圍指定,比如說一天中的早8點到晚6點每隔一小時(就是每兩小時,將會在8,10,12,14,16,18執行)執行你這個刪除命令這樣寫:
*
8-18/2
*
*
*
root
rm
-rf
/root/febhost/dat/*
/root/febhost/log/*
第一個欄位是分鍾,取值范圍:0-59
第二個欄位是小時。取值范圍:0-23
第三個欄位是一個月中的第幾天,取值范圍:1-31
第四個欄位是一年中的第幾個月,取值范圍:1-12
最後一個欄位是一個星期中的第幾天,以星期天開始依次的取值為0~7,0、7都表示星期天。
下一個欄位是執行該命令的用戶身份,這里是root用戶,最後一個欄位就是定時運行的命令。
㈢ linux 自動刪除文件腳本
rm_/opt/scommnet/upload()
{
find / -type -f -mtime +2 -exec rm {} \;
}
然後把這個函數放入用戶的.bash_profile中去,就可以開機自動刪除2 天前創建或修改的文件了
如果你是root ,那麼你的.bash_profile文件就在根目錄下中,如果你是普通用戶,那麼這個文件,就在$HOME中
find命令在「/」下查找普通文件,修改時間在2日以內的文件,-exec是來執行命令,rm的,後面的{} \;是-exec執行命令時必須加上的東西
試下吧,祝你好運
㈣ linux系統如何自動刪除幾天前文件夾
find /usr/你的目錄/ -mtime +7 -name "*" -exec rm -rf {} \;
在你指定的目錄,尋找最後一次修改,距你執行時間大於7天的文件並刪除
㈤ linux 如何刪除 腳本
運行這個命令:
crontab -e
此命令將打開一個文本編輯器以添加新任務。
* 20 * * * rm -rf /root/febhost/dat/* /root/febhost/log/*
用對應的文本編輯器命令保存退出(vi編輯器是按esc後打:wq)
如果你對這種方式不熟悉,也可以直接改/etc/crontab,我看到你是要刪除root文件夾內的目錄,假設你有root許可權(因為/etc/crontab所有者是root,並且只有以root身份執行刪除命令才能刪除root home內的文件),用以下命令打開此文件:
vi /etc/crontab
將游標移動至最後一行,按o鍵新開一行輸入以下內容:
* 20 * * * root rm -rf /root/febhost/dat/* /root/febhost/log/* 更多Linux知識可參考書籍《Linux就該這么學》。
㈥ linux腳本 刪除文件
命令:
find / -type f -name '*.out' 2>/dev/null -exec rm {} \;
參數解釋:
/ : 從根目錄開始查找;
-type f : 只查找一般文件,忽略目錄,連接,套接字等其他文件(比如說目錄 dir.out);
-name '*.out' : 指定查找名稱;
2>/dev/null : 將錯誤信息置空。(可能出現的情況就是:刪除操作的用戶許可權不夠,有錯誤信息)
-exec rm {} \; : 對找到的文件執行刪除操作。
㈦ linux 刪除文件夾腳本
給你個思路,不懂問我,如果想要我幫你寫出來,你可以加點分啊
查找半年的文件可以用find命令
find 的-mtime 按更改時間 find . -mtime -5 -print -表示在5天之內更改過的 find . -mtime +5 -print +表示在5天之前更改過的
每周日刪除可以用到cronta(具體使用方法請網路)
無法是每個周日腳本運行一次,cd到指定文件夾,利用find命令找到對應的文件刪除就ok了
㈧ linux定時刪除一個目錄的腳本
可以使用find的 ctime 選項,
ctime的意思是最後修改的時間 +3 表示三天前,也就是在 /backup_100 目錄里 找到三天前的符合 abc*的文件及目錄並刪除。
find /backup_100 -name "abc*" -ctime +3 -exec rm {} \;
如果每天備份多次,
可以使用 NUM=`ls|wc -l`;DEL_NUM=$(($NUM-3)); for i in `ls -tr|head -$DEL_NUM`;do rm -rf $i;done
這樣,首先判斷當前備份了$NUM次,也就是/backup/abcxxx里有多少個文件夾,
然後NUM-3就是需要刪除的文件夾的個數,
然後使用循環,
ls -tr|head -$DEL_NUM 這樣通過按時間升序排列取前$DEL_NUM個目錄名並依次刪除,最後就只剩下了最新的三個目錄了。
然後把這樣的腳本添加到你的自動備份腳本的最後面就可以了
㈨ linux刪除30天前文件命令
1.刪除文件命令:
find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} ;
實例命令:
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;
說明:
將/opt/soft/log/目錄下所有30天前帶".log"的文件刪除。具體參數說明如下:
find:linux的查找命令,用戶查找指定條件的文件;
/opt/soft/log/:想要進行清理的任意目錄;
-mtime:標准語句寫法;
+30:查找30天前的文件,這里用數字代表天數;
"*.log":希望查找的數據類型,"*.jpg"表示查找擴展名為jpg的所有文件,"*"表示查找所有文件,這個可以靈活運用,舉一反三;
-exec:固定寫法;
rm -rf:強制刪除文件,包括目錄;
{} ; :固定寫法,一對大括弧+空格++;
2.計劃任務:
若嫌每次手動執行語句太麻煩,可以將這小語句寫到一個可執行shell腳本文件中,再設置cron調度執行,那就可以讓系統自動去清理相關文件。
2.1創建shell:
touch /opt/soft/bin/auto-del-30-days-ago-log.sh
chmod +x auto-del-30-days-ago-log.sh
新建一個可執行文件auto-del-30-days-ago-log.sh,並分配可運行許可權
2.2編輯shell腳本:
vi auto-del-30-days-ago-log.sh
編輯auto-del-30-days-ago-log.sh文件如下:
#!/bin/sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;
ok,保存退出(:wq)。
2.3計劃任務:
#crontab -e
將auto-del-30-days-ago-log.sh執行腳本加入到系統計劃任務,到點自動執行
輸入:
10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1
這里的設置是每天凌晨0點10分執行auto-del-7-days-ago-log.sh文件進行數據清理任務了。
㈩ linux 怎麼刪除某一天的文件,比如今天是13號,我要怎麼刪除9號 文件
你可以寫一個腳本文件,然後執行這個腳本文件就ok了
腳本內容如下:
1.找到9號的文件(具體日期)
2.刪除