CRON 脚本(FTP 每分钟获取文件)

CRON 脚本(FTP 每分钟获取文件)

我想创建一个脚本

  • 必须每分钟使用 CRON 运行一次(问:每分钟运行一次 CRON FTP/wget 是否明智?)
  • 比较本地目录和远程目录(问:我该使用 FTP 还是 wget,如何创建

  • 从远程目录获取所有较新/更改的 XML 文件(问:如何将其放入一个变量中,以便稍后在循环中使用)

  • 一旦此过程失败,立即通过邮件通知管理员

  • 将较新/已更改的文件_this_date 复制到目录_this_date

是否可以或建议将脚本分为 config.sh、ftp.sh、copy.sh、mail.sh。最后我必须使用 PHP 处理 XML 文件

我知道有很多问题(有些部分已经解决了),但现在我想得到一个

  • 1)可行性/分析意见
  • 2)如何获取$variable = (ls 较新/更改的文件?)

答案1

如果你使用 rsync 而不是 wget,那么事情会简单得多,因为 rsync 的设计初衷就是为了满足你在其他任务中的需求。你可以使用:

rsync -raz -e ssh [email protected]:/root/dir-to-sync 
/root/dir-where-files-go

要检查进程是否失败,只需检查退出代码$?,如果此变量的值不是零“0”,则表示出现了问题,您可以标记电子邮件通信

要复制已更改的文件,请使用时间戳来了解同步之前的最后一个文件,然后就知道哪些是新文件。

您可以使用类似的方法为您的目录创建 ISO 格式的基于日期的掩码newdirmask=$(date +%Y%m%d''%H%M%S),并在稍后使用mkdirmkdir /home/$newdirmask

答案2

您可以安装 cygwin (http://www.cygwin.com/) 并在 Windows 环境中拥有 rsync 的所有功能。不要害怕 Cygwin 网站的外观和感觉 Cygwin 是众所周知的软件,并且已经经过多次生产测试。

相关内容