scp传送多个文件的shell命令

之前开发中,遇到需要一次scp多个文件到指定服务器上的指定目录。

命令如下:

# 传送日志
log="/logs/`date +'%Y-%m-%d'`.log"

# 要传送的文件所在目录
logDir="/sourcePath/"

# 要传送到的目标机器目录
dst="user@10.100.10.100:/files/"

# scp 传输
expect -c "
set timeout 7200;
spawn /usr/local/bin/scp -P 36000 `ls $logDir | xargs -i echo "$logDir/{}" | tr "\n" " "` $dst
expect {
\"*yes/no*\" {send \"yes\r\"; exp_continue}
\"*password*\" {send \"目标机器的密码\r\";}
}
expect eof;"

# 将scp的文件记录到日志
echo -e `date`"\n"`ls $logDir` >> $log

# 删除logDir目录下的所有文件
`rm -f $logDir/*`

标签: none

添加新评论