Created
September 14, 2018 15:29
-
-
Save eliashussary/7fc28c78d6c863880bb4eabd12e60951 to your computer and use it in GitHub Desktop.
A simple shell script to transfer files to a remote server, followed by adding a suffix to transfered files to mark it as complete.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# ==================================================================================== | |
# | |
# Title: | |
# scpbak.sh | |
# | |
# Description: | |
# A simple shell script to transfer files to a remote server, | |
# followed by adding a suffix to transfered files to mark it as complete. | |
# | |
# | |
# Author: | |
# Elias Hussary <[email protected]> | |
# | |
# Last Update: | |
# 2018-09-14 | |
# | |
# ==================================================================================== | |
# assign args | |
input_dir=$1 | |
input_glob=$2 | |
remote_path=$3 | |
file_suffix=$4 | |
# print args | |
echo " | |
$(date) | |
input_dir=$input_dir | |
input_glob=$input_glob | |
remote_path=$remote_path | |
file_suffix=$file_suffix | |
" | |
# if last arg is null, throw err | |
if [ -z $4 ] | |
then | |
>&2 echo -e "\nERROR: Missing argument; you must input all arguments." | |
exit 1 | |
fi | |
echo -e "\nTransferring files...\n" | |
# do scp transfer and save return code | |
scp $input_dir$input_glob $remote_path | |
rc=$? | |
if [ $rc -eq 0 ] | |
then | |
# if return code = 0 (success) then rename files | |
echo -e "\nRenaming files...\n" | |
for file in $input_dir$input_glob | |
do | |
mv $file $file$file_suffix | |
echo "$file -> $file$file_suffix" | |
done | |
echo -e '\nSUCCESS: Operation completed' | |
exit 0 | |
else | |
# if return code != 0 (error) then exit | |
>&2 echo -e '\nERROR: Transfer failed' | |
exit 1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment