簡體   English   中英

使用 shell 腳本時出現“沒有此類文件或目錄”錯誤,即使目錄已成功移動到目標

[英]Getting "No such file or directory" error when using shell script even though directory successfully moved to target

我編寫了一個腳本來將目錄(不是文件)從源目錄移動到目標目錄,但即使移動本身成功,我也會收到以下錯誤:

find: '/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_30days': No such file or directory

腳本 output

find /u01/app/oracle/diag/asm/+asm/+ASM1/trace/ -name 'cdmp*' -mtime +7 -exec mv '{}' /home/oracle/dba/backup/logs/l01nsvl-dtdao01/diag/asm/+asm/+ASM1/trace ';'

find: `/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_30days': No such file or directory

find: `/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_180days': No such file or directory

find: `/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_7days': No such file or directory

手動執行 output

[oracle@l01nsvl-dtdao01:+ASM1:/u01/app/oracle/diag/asm/+asm/+ASM1/trace]$ ls -ltr $SOURCE

total 3660

drwxr-----. 2 oracle oinstall    4096 Mar 12  2019 cdmp_dir_180days/

drwxr-xr-x. 2 oracle oinstall   20480 Aug 29 05:17 cdmp_dir_30days/

drwxr-xr-x. 2 oracle oinstall   36864 Sep 18 13:22 cdmp_dir_7days/

-rw-r-----. 1 oracle oinstall 3664330 Sep 27 10:52 alert_old.log

-rw-r-----. 1 oracle oinstall    2899 Sep 28 14:52 alert_+ASM1.log

-rwx------. 1 oracle oinstall     230 Sep 28 15:11 b*

-rwx------. 1 oracle oinstall     395 Sep 28 15:25 a*

[oracle@l01nsvl-dtdao01:+ASM1:/u01/app/oracle/diag/asm/+asm/+ASM1/trace]$ ls -ltr $TARGET

total 0

[oracle@l01nsvl-dtdao01:+ASM1:/u01/app/oracle/diag/asm/+asm/+ASM1/trace]$ find /u01/app/oracle/diag/asm/+asm/+ASM1/trace/ -name 'cdmp*' -mtime +7 -exec mv '{}' /home/oracle/dba/backup/logs/l01nsvl-dtdao01/diag/asm/+asm/+ASM1/trace ';'

find: `/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_30days': No such file or directory

find: `/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_180days': No such file or directory

find: `/u01/app/oracle/diag/asm/+asm/+ASM1/trace/cdmp_dir_7days': No such file or directory

[oracle@l01nsvl-dtdao01:+ASM1:/u01/app/oracle/diag/asm/+asm/+ASM1/trace]$ ls -ltr $SOURCE

total 3600

-rw-r-----. 1 oracle oinstall 3664330 Sep 27 10:52 alert_old.log

-rw-r-----. 1 oracle oinstall    2899 Sep 28 14:52 alert_+ASM1.log

-rwx------. 1 oracle oinstall     230 Sep 28 15:11 b*

-rwx------. 1 oracle oinstall     395 Sep 28 15:25 a*

[oracle@l01nsvl-dtdao01:+ASM1:/u01/app/oracle/diag/asm/+asm/+ASM1/trace]$ ls -ltr $TARGET

total 88

drwxr-----. 2 oracle oinstall   256 Mar 12  2019 cdmp_dir_180days/

drwxr-xr-x. 2 oracle oinstall 36864 Aug 29 05:17 cdmp_dir_30days/

drwxr-xr-x. 2 oracle oinstall 45056 Sep 18 13:22 cdmp_dir_7days/

我相信文件名有問題,比如不可打印的字符,能否請您分享以下命令中的代碼格式 output 以便我們確認?

find /u01/app/oracle/diag/asm/+asm/+ASM1/trace/ -name 'cdmp*' -mtime +7 | od -c

我還建議將-type d標志添加到僅過濾目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM