shell脚本使用scp传输文件
时间:2020-03-05 15:31:48 来源:igfitidea点击:
该脚本将请求输入目标文件夹的目标主机名或者IP地址和路径。
在新行上,我们需要提供需要传输的文件名或者目录。
我们将只允许每行复制一个文件或者目录。
击中Enter时,我们将允许提供下一个文件/目录。
脚本将退出后收到空白字段。
#!/bin/bash #next line prints hearer of script echo "Interactive Script to Copy File (files)/Directory using scp" #next line check if entered value is not null, and if null it will reask user to enter Destination Server while [ x$desthost = "x" ]; do #next line prints what userd should enter, and stores entered value to variable with name desthost read -p "Destination Server Name : " desthost #next line finishes while loop done #next line check if entered value is not null, and if null it will reask user to enter Destination Path while [ x$destpath = "x" ]; do #next line prints what userd should enter, and stores entered value to variable with name destpath read -p "Destination Path : " destpath #next line finishes while loop done #next line put null value to variable filename filename='null' #next line check if entered value is null, and If not null it will reask user to enter file(s) to copy while ! [ x"$filename" = "x" ]; do #next line prints what userd should enter, and stores entered value to variable with name filename read -p "Path to source directory/file : " filename #next line checks if entered value is not null, and if not null it will copy file(s) if ! [ x"$filename" = "x" ]; then #next line prints header echo -n "Copying $filename ... " #next like copy pre-entered file(s) or dir to destination path on destination server scp -r "$filename" "$desthost":"$destpath" #end of if fi #next line finishes while loop done
运行SCP脚本
[root@TestNode1 ~]# sh scpcopyscript.sh Interactive Script to Copy File (files)/Directory using scp Destination Server Name : 192.168.0.2 Destination Path : /tmp Path to source directory/file : /root/backup.txt backup.txt 100% 0 0.0KB/s 00:00 Path to source directory/file : /root/docsdir file2.txt 100% 0 0.0KB/s 00:00 file3.txt 100% 0 0.0KB/s 00:00 file1.txt 100% 0 0.0KB/s 00:00 Path to source directory/file : [root@TestNode1 ~]#