Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 昨天的scp文件_Linux_Unix_Scp - Fatal编程技术网

Linux 昨天的scp文件

Linux 昨天的scp文件,linux,unix,scp,Linux,Unix,Scp,我想将文件从远程服务器复制到本地服务器。问题是:我只想复制昨天的文件。 远程服务器正在写入日志文件,在23:59,日志轮换正在将其压缩为文件[name]\u[date].log.gz。早上6:00,本地服务器上的cronjob需要复制以前从远程服务器创建的文件。有人知道怎么做吗 问候,, Alex您可以使用这样的脚本 for i in `find /interface/outbound/Web -type f -ctime -1` do scp $i user@$destination_serv

我想将文件从远程服务器复制到本地服务器。问题是:我只想复制昨天的文件。 远程服务器正在写入日志文件,在23:59,日志轮换正在将其压缩为文件[name]\u[date].log.gz。早上6:00,本地服务器上的cronjob需要复制以前从远程服务器创建的文件。有人知道怎么做吗

问候,,
Alex

您可以使用这样的脚本

for i in `find /interface/outbound/Web -type f -ctime -1`
do
scp $i user@$destination_server:/destination_directory/
done
特别是命令find具有以下功能,例如:

find . -ctime -1 # which are created less than 1 day ago from currrent folder.
find . -ctime +2 # finds files which are created older than 2 days from currrent folder.
其中
ctime
是创建时间。也可以这样使用修改时间
mtime

find . -mtime 0   # find files modified between now and 1 day ago
find . -mtime -1  # find files modified less than 1 day ago
find . -mtime 1   # find files modified between 24 and 48 hours ago
find . -mtime +1  # find files modified more than 48 hours ago
更多信息请访问

编辑:

要从远程到本地具有相同的行为,可以使用以下方法:

latest_file=`ssh user@destination_server find /pathtoDir -type f -ctime -1`
/usr/bin/scp user@destination_server:$latest_file /local_dir 
echo SCP Completed.

目前我还没有一个Unix环境来做一些测试。

您好,谢谢您的回答。您正在本地服务器上测试文件。我需要在远程服务器上找到昨天的文件。localServer(运行脚本的地方)应该从remoteServer获取昨天的文件。如果此解决方案自2013年(给出此答案的时间)起适用于您,请不要忘记投票选择正确的答案。已出现了和等网站,可帮助分析潜在问题。因此,对这个答案的一个小的更新可能会派上用场。在这里,我想指出