scp.sh--免输入密码后台传输脚本

本文介绍了一种使用scp.sh脚本来自动化将服务器文件从旧服务器传输到新服务器的方法,包括编写脚本、处理密码输入、转换脚本格式以及执行nohup命令以避免频繁输入密码的过程。
摘要由CSDN通过智能技术生成

一、将当前服务器上的文件传输到对应服务器目录下

最近在迁移服务器,自动化比较省时省力,就写了一个scp.sh的脚本,只是将老服务器的tar包给复制到新服务器的对应目录下:

在Windows桌面编写scp.sh脚本:

#! /bin/sh

# 执行scp命令,将当前服务器上的 [参数4] 复制到对应服务器 src_svr(参数1) 【new_dir_full】 目录下:
# scp -r ${src_dir_full} ${src_svr_user}@${src_svr}:${new_dir_full}
# 自动输入密码(免去两次输入服务器密码):src_svr_pwd(参数3) 
# 超时时间:timeout(参数6) 86400秒
# 在外面写好脚本丢到linux上之后,执行:dos2unix scp.sh
# 例如在linux服务器执行(后台执行):nohup sh -x ./scp.sh 122.1.1.1 root Osroot /approot1/test.tar /approot1 86400 > ./scp.log 2>&1 &
 
src_svr=$1
src_svr_user=$2
src_svr_pwd=$3
src_dir=$4
src_new_dir=$5 # 移动到新目录下
timeout=$6  # 单位:秒
src_dir_full=${src_dir}
new_dir_full=${src_new_dir}

#tar_dir="/approot1"${src_dir_full}"/.."
#	if [ ! -d ${tar_dir} ];then
#		mkdir -p ${tar_dir}
#	fi

echo "begin:"`date "+%Y-%m-%d %H:%M:%S"`

expect -c "
set timeout ${timeout};
spawn scp -r ${src_dir_full} ${src_svr_user}@${src_svr}:${new_dir_full};

expect {
\"*yes/no*\" {send \"yes\r\"; exp_continue}
\"*password*\" {send \"${src_svr_pwd}\r\";}
\"*Password*\" {send \"${src_svr_pwd}\r\";}
}
expect eof;"

echo "end:"`date "+%Y-%m-%d %H:%M:%S"`

echo 0

二、转换unix格式

脚本写好后扔到源Linux服务器上,执行命令以下命令将文件转为unix格式

(否则在执行nohup命令后,查看scp.log日志发现scp命令中带有\r)

dos2unix scp.sh

三、执行脚本

在源Linux服务器控制台执行nohup命令

下面语句:将源服务器approot1目录下的test.tar文件 传输到 目标服务器:122.1.1.1 的approot1目录下  

目标服务器登录账号和密码:root/Osroot

如此命令可以避免两次输入目标服务器root用户的密码

结果可以在scp.log中查看

nohup sh -x ./scp.sh 122.1.1.1 root Osroot /approot1/test.tar /approot1 86400 > ./scp.log 2>&1 &

Ps:脚本可以根据需要进行修改,主要修改scp.sh中的spawn命令,同时nohup也需要进行修改;也可以直接在xshell中执行scp命令进行调试,调试成功后再替换spawn命令。

spawn scp -r ${src_dir_full} ${src_svr_user}@${src_svr}:${new_dir_full}

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值