0
目前NFS文件系統上的單個目錄中有450萬個文件。因此,該目錄的任何讀取或寫入操作都會造成巨大的延遲。 爲了解決這個問題,該目錄中的所有文件將根據其創建年份移動到不同的目錄中。Unix上的NFS文件系統上的文件移動問題
顯然,我們使用-ctime選項的find命令不工作,因爲文件量很大。 我們嘗試列出基於創建年份的文件,然後將列表提供給腳本,將腳本移動到for循環中。但即使這樣做失敗了,因爲ls-lrt徘徊了。
有沒有其他方法可以解決這個問題? 請幫忙。
腳本內容: 1)filelist.sh
ls -tlr|awk '{print $8,$9,$6,$7}'|grep ^2011|awk '{print $2,$1,$3,$4}' 1>>inboundstore_$1.txt 2>>Error_$1.log
ls -tlr|awk '{print $8,$9,$6,$7}'|grep ^2011|wc -l 1>>count_$1.log
2)filemove.sh
INPUT_FILE=$1 ##text file which has the list of files from the previous script
FINAL_LOCATION=$2 ##destination directory
if [ -r $INPUT_FILE ]
then
for file in `cat $INPUT_FILE`
do
echo "TIME OF FILE COPY OF [$file] IS : `date`" >> xyz/IBSCopyTime.log
mv $file $FINAL_LOCATION
done
else
echo "$INPUT_FILE does not exist"
fi
我不明白你爲什麼要對'ls'輸出進行排序。嘗試不帶'-tr'選項。 – ninjalj 2012-03-29 10:30:06
@ ninjalj - 即使沒有-tr選項的簡單ls命令失敗。 – abhijithln 2012-03-29 10:48:33