方法一、使用sshpass工具使scp传输文件
tar_and_upload.sh
#!/bin/sh
DIRNAME=`dirname $0`
cd $DIRNAMEecho `pwd`TAG=`date %y%m%d-%H-%M`echo $TAGfile_name="${TAG}"".tar"echo $file_name
#将当前目录的run目录打包tar cvf $file_name run
#上传文件sshpass -p admin scp $file_name admin@192.168.65.57:/d:/SftpRoot/
rm -f $file_name
方法二、使用expect可以使scp在传输文件的时候在脚本中使用密码
例如upload.sh:
#!/usr/bin/expect -f
set password adminset src_file [lindex $argv 0]spawn scp $src_file admin@192.168.65.57:/d:/SftpRoot/
set timeout 300
expect "admin@192.168.65.57's password:"
set timeout 300
send "$password\r"
set timeout 300
send "exit\r"
expect eof
我们在别的脚本中调用这个脚本,例如tar_and_upload.sh
#!/bin/sh
DIRNAME=`dirname $0`
cd $DIRNAMEecho `pwd`TAG=`date %y%m%d-%H-%M`echo $TAGfile_name="${TAG}"".tar"echo $file_name
#将当前目录的run目录打包tar cvf $file_name run
#上传文件./upload.sh $file_name
rm -f $file_name
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved