All posts

rsync 自动输入密码

我们常用sudo,ssh、ftp命令操作服务器或者修改权限的时候都会要求输入password,但是shell脚本运行中该如何交互实现自动输入密码呢? 下面总结三种实现方法。 一、重定向: 用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有i参数来指定使用标准输入来输入密码 shell用重定向作为

我们常用sudo,ssh、ftp命令操作服务器或者修改权限的时候都会要求输入password,但是shell脚本运行中该如何交互实现自动输入密码呢? 下面总结三种实现方法。 一、重定向: 用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码 shell用重定向作为标准输入的用法是: ftp -i -n 192.168.15.16< 如果是sh脚本,第一行是#!/bin/bash,而这里是你机器上expect程序的路径,说明这段脚本是由expect来解释执行的 > 第一句是设定超时时间为20s > set passwd yourpassword设置成你自己的密码 > spawn是expect的语句,执行命令前都要加这句 2,把rsync.ex写到定时任务里 crontab -e 编辑如下,根据你自己的具体情况设置crontab参数和rsync.ex文件路径: 相关文章:CentOS等Linux服务器配置使用Rsync同步及Crontab定时任务 单独运行rsync.ex文件,如下: expect /home/backup/rsync.ex root@45.234.21.101:/home/backup/* /local/backup/ 注意:expect跟bash类似,使用时要先登录到expect,所以首行要指定使用expect 在运行脚本时候要expect rsync.ex,不能sh rsync.ex了

Discussion

No comments yet