经过rsync的ssh差别备份方式同步本地目录到远端目录,expect代码以下,命令行手动执行便可javascript
Expect代码 java

- # cat expecttool
- #!/usr/bin/expect -f
-
- set timeout 7200;
-
- spawn /usr/bin/rsync -avz -e "/usr/bin/ssh" /path/to/local/dir/ remoteuser@remotehost:/path/to/remote/dir/
- expect {
- "*yes/no*" {
- send "yes\r";
- exp_continue
- }
- "*assword*" {
- send "pasword\r";
- }
- }
- interact
若是要放到crontab任务中,须要把interact替换为 app
expect eofssh
exitspa
这种方式在crontab和命令行都可运行命令行