iT邦幫忙

0

TIPTOP內設定定時清除

我想設定每日於晚上11點清除/u2/topprod/tiptop/csv/C0401/此資料夾內中所有.csv的檔案,不論資料產出是何時,都要再給晚11點自動清除

2 個回答

0
souda
iT邦研究生 2 級 ‧ 2020-11-19 14:04:12

寫個xxx.sh rm -R /u2/topprod/tiptop/csv/C0401/ 完工.
在到crontab -e 加一下
0 23 * * * sh /xxx/xxx.sh

carry1246 iT邦新手 5 級 ‧ 2020-11-19 14:17:20 檢舉

可以稍微解釋一下 上面代表的,我剛接觸所以很弱

1
japhenchen
iT邦大師 1 級 ‧ 2020-11-19 15:18:16

1、sudo crontab -e

2、在最下方加入

0 23 * * * find /u2/topprod/tiptop/csv/C0401/ -name '*.csv' -maxdepth 1 -exec rm {} \;

打完收工

看更多先前的回應...收起先前的回應...

sorry忘了加只刪那個資料夾裡的檔案,不刪下層資料夾,改一下

0 23 * * * find /u2/topprod/tiptop/csv/C0401/ -name '*.csv' -maxdepth 1 -exec rm {} \;
carry1246 iT邦新手 5 級 ‧ 2020-11-19 15:47:49 檢舉

其實,我要在哪個頁面下打這串都有點找不到方向

carry1246
因為我看到你問的問題,資料夾都是/正斜,所以假設你主機是在Linux環境下.......

pietty登錄主機進行排程設定吧,重點是你要有root的權限(不是叫你用root登入)

這個功能必須要在 crontab 中使用.
crontab 這個指令就是 linux 系統中的"工作排程器"
詳細使用可以用: man crontab 來查.(man 是linux 的help)
crontab -e 指的是修改 crontab 的排程.
crontab -l 指的是"查詢" crontab 中的設定.
設定中 前五組為排程的 "分" "時" "日" "月" "星期"
以 0 23 * * * =>指的就是"每天" (因為日 月 週都是*) 23 時 0 分執行 後面的指令

如果Linux不熟,千萬別用,先去找鳥哥上課吧!
https://linux.vbird.org/

find 是linux找檔案的指令
/xxx/yyy/zzz/ 指你要找這個資料夾下的檔案
-name '*.csv' 指你要找所有副檔名為csv的所有檔案
-maxdepth 1 指只刪那個資料夾裡的檔案,不刪除裡面的下層資料夾裡符合條件的檔案
-exec 如果有找到符合條件的檔案,則進行-exec 後面的指令
rm 刪除檔案
{} 兩個連續花括號,表示find找到的檔案,會把檔名帶給上一行的rm使用
\; 結束find的-exec後面的指令

linux的很多指令都有極強的破壞力,比如
sudo rm \ -Rf
就準備跟你的系統跟資料說再見!

我要發表回答

立即登入回答