最近有点背,在64位suse上搭建django环境出了一堆问题,最后服务器还不稳定不能用…
由于做不了webserver,所以只能用来做备份服务器了,需求比较简单,就是将源服务器的一个目录每天copy过来做备份。其实就是用rsync或者scp即可,最后的问题就变成了怎么让rsync自动输入服务器密码,结果在网上搜了一下方法,有rsyncserver,公秘钥,之类,杯具的是我配置了一下午也没搞定……

然后想起公司有同事之前做过一个自动登录服务器的脚本,是不是只要改一下执行的命令即可呢?修改后的代码如下:

由于是在不知道怎么在这个脚本里面获取当前的年月日,所以又在外面写了一层python(表BS我……)

测了一下,一切正常,然后在crontab中加入定时脚本,让它每天0点半执行:

暂无相关产品

14则回应给“rsync自动输入密码实现数据备份”

  1. 可可火山说道:

    expect是基于TCL语法的。介绍expect的书不多,有本但也绝版。看看tcl语法应该也能了解一二。
    set dir [lindex $argv 0]

    应该只要接个字符就可以吧?
    set dir date +%m/%d

    没时间测试,博主看看?

    [回复]

    可可火山 回复:

    查了下,tcl语法应该这样来取。 expect一直想深入下,那本exploring expect书只整到部分。不过看TCL语法也OK了。

    set dir [ exec date +%m/%d ]

    [回复]

    Dante 回复:

    呵呵,多谢多谢,明天去公司试试,一直没接触过这个东西呢~~

    [回复]

    Dante 回复:

    哈哈,试了一下,果然可以~~这样就省了外层的py啦~~

    [回复]

    可可火山 回复:

    呵呵 nice

    [回复]

    依云 回复:

    我一直找不到 expect 的资料,所以折腾没一天就放弃了,改为直接拿 python 搞定。有个 pexpect 不错的。

    [回复]

  2. 铁牛仔说道:

    呵呵,不久前我也遇到这个这个rsync的备份问题。上网拼命地搜了下最终给搞出来了。我使用的是ssh密钥的方式。整理一份自认为挺详细的教程在这里:http://tieniuzai.com/?p=203,博主可以参考下。

    [回复]

    Dante 回复:

    一开始也打算用ssh密钥的方式,只是公司用的是ssh2,结果每次都失败。。

    [回复]

    铁牛仔 回复:

    呵呵。rsync备份文件速度真的好快的说。不过现在我遇到一个问题,就是偶尔会出现其他同事修改过的文件rsync检索增量文件的时候检索不到,搞到我每次还得打开那个文件加几个空格进去才行。郁闷….关于这个问题大家有什么好的解决办法吗?又难道是我的同步脚本写得太搓的原因?

    [回复]

    Dante 回复:

    唉,可惜rsync的备份服务一直用不了。。。所以帮不了你。。

    [回复]

  3. jiaion说道:

    可以完全用Python实现的 安装下pextect 就好了.

    [回复]

    Dante 回复:

    哈,搜了一下,果然有啊:
    http://pypi.python.org/pypi/pexpect/

    [回复]

  4. zwssd说道:

    冒似我以前用过expect这东西,用来登陆服务器什么的很好用。主要就是调试了很久。我记得是用十行代码搞定。

    [回复]

    Dante 回复:

    是啊,expect的学习资料很少,所以用起来比较纠结。。

    [回复]

发表评论