SCP从远程服务器传输文件,这些文件在特定时间后被修改

时间:2016-07-01 18:57:54

标签: linux shell unix ssh scp

在远程服务器日志文件中,当活动日志文件(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完成吗?

1 个答案:

答案 0 :(得分:0)

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 }
}