用 crond 自动定时执行 except scp 脚本传输文件被停止

2017-03-09 10:12:42 +08:00
 beric
想自动备份远程服务器上的文件(大约 1GB 左右),写了一个 except scp 的脚本,用 crond 定时执行。
但之后检查发现本地保存的文件只有几十 M ,文件没有传完就停止了。查看远程服务器端的 LOG ,显示:
Received disconnect from xxxx disconnected by user
大概连接了 10s 这样
查看本地 log 没看到相关出错或退出的信息。求解……
2759 次点击
所在节点    Linux
11 条回复
xiaket
2017-03-09 10:25:05 +08:00
use rsync and retry till the exit code is 0.
beric
2017-03-09 11:04:54 +08:00
@xiaket 想问一下这样做是为了防止连接被断开?想知道连接了 10s 就断开是什么原因(客户端网络?系统 KILL 掉?),有没有一个跟踪思路呢?谢谢
goodryb
2017-03-09 11:10:03 +08:00
这种为何不用 rsync
goodryb
2017-03-09 11:10:42 +08:00
@beric #2 手动执行一下看看
lgpqdwjh
2017-03-09 11:16:18 +08:00
nohup $command > $PATH/$LOG_FILE 2>&1 &
artandlol
2017-03-09 11:31:40 +08:00
你用的应该不是 centos
过程输出到 /dev/null
tolerance
2017-03-09 11:35:25 +08:00
set timeout 60
beric
2017-03-09 13:49:00 +08:00
手动执行没问题,加了&后台执行也会出现断掉的情况
beric
2017-03-09 13:50:29 +08:00
@lgpqdwjh 后来我试了 nohup ,但也是断了, LOG 信息也看不出原因。想问一下还有什么方法跟踪到原因?
floopy
2017-03-09 23:29:14 +08:00
1. expect 时你是否检查了 scp 进度。
2.rsync
beric
2017-03-10 08:34:12 +08:00
@tolerance 好的谢谢,好像的确是这个问题导致

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX