Linux远程自动备份脚本

须要使用到expect。linux

#!/usr/bin/expect -f
set password 123456
set date [exec date "+%Y%m%d"]
#upload
spawn scp -C /data/dbdump/file/db$date.backup.gz user@1.2.3.4:/home/meng/backup-file/ 
set timeout 300 #超时等待300秒
expect "assword:"
set timeout 300 #超时等待300秒
send "$password\r"
#expect "100%"
set timeout 3600 #超时等待3600秒
send "exit\r"
expect eof

crontab设置bash

30 2 * * * /dbdump/remotedump.sh >>/var/log/remotedump.log 2>&1

 

expect简介

expect是一款自动化的脚本解释型的工具。服务器

expect基于tcl脚本,expect脚本的运行须要tcl的支持。ssh

expect对一些须要交互输入的命令颇有帮助,好比ssh ftp scp telnet。工具

远程登陆linux服务器的时候,ssh命令须要手工输入密码,当登陆多台机器的时候就会很是繁琐。spa

expect就能够根据设定的规则,自动帮咱们输入密码,大大节省了时间。code

expect安装

通常机器不会自带expect,须要手动安装。crontab

系统为RHEL/CentOS:rem

yum install expect
相关文章
相关标签/搜索