LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 978|回复: 5

[已解决]rsync 如何放到crontab中执行?

[复制链接]
发表于 2005-9-5 18:35:08 | 显示全部楼层 |阅读模式
我使用命令
/usr/bin/rsync -vazu --progress --password-file=/etc/rsync_secret --delete user@192.168.0.100:my  /home/user1/

/etc/rsync_secret的内容如下:
password
也试过
user:password
的形式

如果是在控制台下,会要求我输入口令,输入password后,可以进行同步。
可是放到crontab中,它执行出错,看资料写的都是用--password-file指定密码文件的,为什么我的不好用?
我用的是Debian sarge 3.0
rsync是用apt-get install rsync 装的。
高手来解释一下吧,谢谢。
发表于 2005-9-5 20:12:13 | 显示全部楼层
把你的密码文件内容改为:
id:passwd
---->你用于登陆的用户的id不是用“ID”两个字符;
ps.确定你的/etc/rsync_setret的权限以及owner;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-6 09:26:42 | 显示全部楼层
ll rsync_setret
-r--------  1 root root 13 2005-09-06 09:05 /etc/rsync_secret

上面说了,我试过你说的那种文件格式,可是不行,执行脚本的时候,还是要我输入密码。
回复 支持 反对

使用道具 举报

发表于 2005-9-6 10:08:19 | 显示全部楼层
/etc/rsync_secret的内容如下:
password
也试过
userassword
的形式
---->不是用user password 而是用userid:password   (中间用“:”隔开)
回复 支持 反对

使用道具 举报

发表于 2005-9-6 10:09:27 | 显示全部楼层
如果你不知道userid ;cat /etc/passwd | grep username   查吧;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-6 10:10:00 | 显示全部楼层
已经解决了,在man中有这样的说明:

--password-file
  This  option  allows you to provide a password in a file for accessing a remote rsync server. Note that this option is only useful when accessing a rsync server using the built in transport, not when  using  a  remote shell as the transport. The file must not be world readable. It should contain just the password as a single line.

所以上面的命令应该改成:
/usr/bin/rsync -vazu --progress --password-file=/etc/rsync_secret --delete user@192.168.0.100::my /home/user1/

这里要使用“::”,面不是“:”,否则是启用了remote shell 来传输,--password-file参数无效了。

至于/etc/rsync_secret里,我只用了写了user用户的密码
cat /etc/rsync_secret
password
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表