我正在尝试将最新目录的内容从远程服务器复制到本地服务器。问题是目录名称是基于日期的,因此它不能是命令中的静态值。我也想从 cron 运行该命令,所以我希望这可以在没有脚本的情况下实现。
远程目录示例(ls):
/directory/backups
.
..
2017-09-23/
2017-09-24/
2017-09-25/
weekly/
因此在这种情况下,我想复制 2017-09-25 目录的内容,因为这是最新的,并且名称和修改戳都是相同的日期。
举一个直观的例子:
rsync -chavzP --stats [email protected] /directory/backups/(ls -td -- */ | head -n 1) /my_local_dir
有没有办法用 rsync 甚至 scp 来做到这一点?
编辑:
我意识到这似乎是一项微不足道的任务。但是,我寻求以这种方式进行复制的方法有几个原因。我搜索了相当多的内容,但没有找到任何东西可以让我清楚地了解如何使用 rsync 或 scp 编写复制命令,或者这是否可行。我的命令行功能很基础。
答案1
我会在源服务器上本地运行一个脚本,并让其将备份推送到目标服务器。这样做的主要原因是,我可以访问所有相关的脚本工具,以便能够确定需要发送的内容。另一个好处是,我不需要使用具有 ssh 密钥且没有密码的 root 帐户(根据您的示例),因为我可以使用非特权帐户进行推送。