0
現在、NFSファイルシステム上の1つのディレクトリに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
@ ninjalj- -trオプションのない単純なlsコマンドでさえ失敗しました。 – abhijithln