WinSCP - 用于备份最新文件的 SFTP 脚本
WinSCP - SFTP script to backup the newest files
我在 AWS 上有通话录音,但我只有 10 GB space 所以我想要一个脚本,它将 SFTP 到亚马逊 AWS,并且只将最新的文件复制到我的 NAS在办公室。我可以使用 Windows Task Scheduler 每周一次 运行 脚本。
想法是,在 AWS 上的所有 space 被填充后,它开始删除最旧的记录,所以我想阻止它并且只使用 AWS 作为缓冲区来存储当前记录和我的 NAS 作为一个主要的存储。我的脚本将每隔 week/month 运行 宁一次,以仅复制最新的文件,以防止丢失任何记录。
下面我描述了我希望脚本如何行为的逻辑:
建立 SFTP 会话
如果目标目录不包含任何文件,请先创建完整备份
如果目标确实包含一些文件,只复制丢失的文件
期待任何想法,谢谢!
最简单的解决方案是使用 get
command with -neweronly
switch:
open sftp://user:password@example.com/
get -neweronly /remote/path/* C:\local\path\*
对于非常相似的结果,您还可以使用 synchronize
command:
synchronize local /remote/path C:\local\path
如果只想同步最近的文件,可以添加-filemask=>2D
或类似的。
参见 https://winscp.net/eng/docs/file_mask#size_time
我在 AWS 上有通话录音,但我只有 10 GB space 所以我想要一个脚本,它将 SFTP 到亚马逊 AWS,并且只将最新的文件复制到我的 NAS在办公室。我可以使用 Windows Task Scheduler 每周一次 运行 脚本。
想法是,在 AWS 上的所有 space 被填充后,它开始删除最旧的记录,所以我想阻止它并且只使用 AWS 作为缓冲区来存储当前记录和我的 NAS 作为一个主要的存储。我的脚本将每隔 week/month 运行 宁一次,以仅复制最新的文件,以防止丢失任何记录。
下面我描述了我希望脚本如何行为的逻辑:
建立 SFTP 会话
如果目标目录不包含任何文件,请先创建完整备份
如果目标确实包含一些文件,只复制丢失的文件
期待任何想法,谢谢!
最简单的解决方案是使用 get
command with -neweronly
switch:
open sftp://user:password@example.com/
get -neweronly /remote/path/* C:\local\path\*
对于非常相似的结果,您还可以使用 synchronize
command:
synchronize local /remote/path C:\local\path
如果只想同步最近的文件,可以添加-filemask=>2D
或类似的。
参见 https://winscp.net/eng/docs/file_mask#size_time