加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

rsync代码将运行,但不会在cron中运行

发布时间:2020-12-13 23:04:14 所属栏目:Linux 来源:网络整理
导读:我有一个Web服务器(odin)和一个备份服务器(jofur).在jofur上,我可以运行以下代码来将我的web目录(通过密钥认证)从odin转发到jofur: rsync -avz -e ssh backups@odin.mydomain.net:/home/backups /home/myuser/odin 如果我在命令行输入这个内容,那么rsyncs就
我有一个Web服务器(odin)和一个备份服务器(jofur).在jofur上,我可以运行以下代码来将我的web目录(通过密钥认证)从odin转发到jofur:

rsync -avz -e ssh backups@odin.mydomain.net:/home/backups /home/myuser/odin

如果我在命令行输入这个内容,那么rsyncs就完美了:

myuser@jofur:~$rsync -avz -e ssh backups@odin.mydomain.net:/home/backups /home/myuser/odin

receiving incremental file list

sent 23 bytes  received 1921 bytes  1296.00 bytes/sec
total size is 349557271  speedup is 179813.41

我想让它每天早上运行,所以我编辑了我的crontab来读取这个:

0 4 * * * rsync -avz -e ssh backups@odin.mydomain.net:/home/backups /home/myuser/odin

这不起作用.以下消息存放在/ var / mail / myuser中:

Could not create directory ‘/home/myuser/.ssh’.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(605) [Receiver=3.0.9]

我不确定这个错误意味着什么.我担心盲目地使用权限,因为我不想让任何后门打开.有什么建议?

解决方法

很难判断cron是否使用了错误的rsync二进制文件,或者rsync是否需要一些未在cron中设置的变量.请设置stdout / stderr,如下所示,并传递日志文件的输出

另外,尝试从命令行执行“which rsync”;这将告诉您从命令行使用哪个rsync.

0 4 * * * rsync -avz -e ssh backups@odin.mydomain.net:/home/backups /home/myuser/odin > /tmp/cron_output.log 2>&1

编辑:

您可以创建一个名为SOME_DIR / cron_job_rsync.sh的shell脚本,其中包含以下内容.确保设置执行位.

#!/bin/sh
/usr/sbin/rsync -avz -e ssh backups@odin.mydomain.net:/home/backups /home/myuser/odin

并修改cronjob,如下所示

0 4 * * * SOME_DIR/cron_job_rsync.sh >/tmp/cron_output.log 2>&1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读