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
相關文章
相關標籤/搜索