2015-04-22 38 views
1

當我手動運行此查詢時,它會引發錯誤。在腳本在Unix中查找並移動命令時拋出一些錯誤

實際的命令:

find $TMPDIR/tmp0 -name "*.W080" -type d -exec mv -f {} $TMPDIR/w0 \; 
find $TMPDIR/w0 -name "*.TIF" -type f -exec mv -f {} $FINALDIR/$DATE/W080-RF \; 

錯誤拋出在運行時:

find: 0652-081 cannot change directory to </sapxchange/OPENTEXT/Symcor/tmp/tmp0/batch.B75355.L9135.D20150326.T022818.W080>: 
: A file, file system or message queue is no longer available. 
find: 0652-081 cannot change directory to </sapxchange/OPENTEXT/Symcor/tmp/tmp0/batch.B75356.L9135.D20150326.T022818.W080>: 
: A file, file system or message queue is no longer available. 

PS - 請注意進來運行時即使經過上面的錯誤,在作業完成和處理數據...

+0

你正在尋找一個臨時目錄($ TMPDIR /)。我的猜測是它包含在程序運行過程中使用的文件。因此,如果您單獨運行查詢,那麼可能不會有更多文件或無法輕鬆訪問。再次,只是我的想法,沒有時間深入研究 – Soma

+0

意見,特別是在查找問題... -exec:從命令中丟失exec並查看是否有任何數據(例如文件)可用,然後查看TMPDIR,TMPDIR/tmp0中是否有任何內容,最後TMPDIR/w0是否存在並具有寫入權限,同上FINALDIR/DATE/W080-RF? –

回答

0

我認爲find是在尋找/sapxchange/OPENTEXT/Symcor/tmp/tmp0/batch.B75355.L9135.D20150326.T022818.W080的子目錄中的文件,並突然刪除了整個目錄。
所以找不明白在哪裏搜索。

當所有W080文件都在同一水平,嘗試沒有發現:
mv -f $TMPDIR/tmp0/*.W080 $TMPDIR/w0