【问题标题】:SCP to transfer files from remote server which are modified after specific timeSCP从远程服务器传输特定时间后修改的文件
【发布时间】:2016-11-04 06:31:42
【问题描述】:

当活动日志文件 (file.log) 的大小达到 100mb 时,远程服务器中的日志文件如下所示进行轮换

delete file.log.4
file.log.3 -> file.log.4
file.log.2 -> file.log.3
file.log.1 -> file.log.2
file.log   -> file.log.1

最初所有文件都会被移动到本地服务器并重命名如下

file.log_timestamp_of_log4
file.log_timestamp_of_log3
file.log_timestamp_of_log2
file.log_timestamp_of_log1

只有在最后一次脚本运行后修改的文件才应该被移动到本地服务器。 例如,下次运行脚本时,如果 file.log.1 和 file.log.2 的修改时间大于前一个脚本的运行时间,那么只有这些应该移动到本地服务器。

这可以使用 scp 完成吗?

【问题讨论】:

  • rsync 更擅长处理您的案件。

标签: linux shell unix ssh scp


【解决方案1】:

scp 是从一台服务器复制到另一台服务器的命令。因此,如果您要从远程复制到本地是的,您可以使用 scp。要获取以前的修改日期,您可以使用 date -r 。您可以保存上次脚本运行时间进行比较。您需要使用scp -p 来保留修改日期。要计算大小,您可以使用du -h 所以做一些类似以下算法的事情

scp -p remotepath:/filename localpath

last_mod = date -r filename

size = du -h filename

if last_mod > script_runtime
{ if size > 100 MB 
 { mv filename > filename1 }
}

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 2020-02-25
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多