Menu

Interactive Shell Script to Copy Files / Directory using SCP

This script will allow copy multiple files and directories. Script will only work assuming you have configured ssh key based authentication between two machines.
Script will request to input destination hostname or ip address and path of destination folder. On the new line you need to provide filename or directory that need to be copied. You will be only allowed to copy one file or directory per line. When hitting enter , you will allowed to provide next file/directory. Script will exit once it receives a blank field.
#!/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
Running the scp script
[root@testos ~]# sh scpscript.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@testos ~]#
www.hackthesec.co.in
www.twitter.com/hackthesecurity

About Author:


I am a Linux Administrator and Security Expert with this site i can help lot's of people about linux knowladge and as per security expert i also intersted about hacking related news.TwitterFacebook

Next
Newer Post
Previous
Older Post

0 comments:

Post a comment

 
Top