文件观察器和发送邮件

文件观察器和发送邮件

我想制作一个脚本来检测不同文件夹中的新文件,例如:

  • /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

完毕

相关内容