我想制作一个脚本来检测不同文件夹中的新文件,例如:
/home/pedro/XX/file1_082018.zip
/home/pedro/XX/file2_082018.zip
其中XX
表示非固定位置国家/地区名称(EG 巴西、阿根廷、智利...)
一旦检测到新文件,我想将此文件复制到其他地方:
cp /home/pedro/BR/file1_082018.zip /home2/pedro/BR/file1_082018.zip
并且如果复制到新文件夹完成,发送邮件通知。新文件 /file1_082018.zip 可用。
答案1
根据cp男,可以查看cp的返回码。
EXIT STATUS
The cp utility exits 0 on success, and >0 if an error occurs.
最后一次操作的退出代码实际上保存在特殊变量中$?
,例如:
cp -v /home/pedro/BR/file1_082018.zip /home2/pedro/BR/file1_082018.zip
echo $? >> exit_status.log
然后检查值$?
for i in $(cat countries.txt); do #countries.txt is a file contain directories names
cp -v /home/pedro/${i}/file1_082018.zip /home2/pedro/${i}/file1_082018.zip
echo $? >> exit_status.log
if [ $? -ne 0 ]
then
echo "there was an error in copying the data"
exit
else
mail -s "Success!" [email protected]
fi
完毕