#!/bin/bash
#logdir要上传的文件目录
logdir="/data/log/"
#sftp服务器地址用户密码
sftpremote='172.29.251.11'
sftp_user='collection_log'
stp_port='22'
sftp_password='hello23+'
cd $logdir
/usr/bin/expect << EOF
set timeout 20
spawn sftp -P $stp_port ${sftp_user}@${sftpremote}
expect {
"yes/no" {
send "yes\r"
exp_continue
}
"assword:" {
send "$sftp_password\r"
}
}
expect "sftp> "
# 需要传到sftp的目录是sjgk
send "cd sjgk\r"
expect "sftp> "
#上传上一天的日志
send "put app-`date -d "yesterday"+%Y-%m-%d`_*.log\r"
expect "sftp> "
send "bye"
EOF
把上面的脚本加入到crontab