0
BACKUP_SERVER_NAME="name"
BACKUP_SERVER_USERNAME="user"
COPY_FILE_TO_WINDOWS="/cygdrive/c/unix_test_copy"

scp -r /$1/ $PRIMARY_SERVER_USERNAME@$PRIMARY_SERVER_NAME:$COPY_FILE_TO_WINDOWS

How can I pass a path to variable and how I can pass it to the command and execute it?

This is my bash file, if any one can convert it:

PRIMARY_SERVER_NAME="error.com.jo"

PRIMARY_SERVER_USERNAME="Administrator"

BACKUP_SERVER_NAME="V1DEV1.com.jo"

BACKUP_SERVER_USERNAME="Administrator"

COPY_FILE_TO_WINDOWS="/cygdrive/c/unix_test_copy"

SCAN_BATCH_FILE_WINDOWS="c:\\scan.bat"

LOG_FILE="/var/log/scan.log"

if [ -f "$1" ]

then

scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS}"

server_status=$?

server_status_on=0

if [$server_status -eq $server_status_on ];

then

ssh -l ${BACKUP_SERVER_USERNAME}@${PRIMARY_SERVER_NAME} 'cmd /c ${SCAN_BATCH_FILE_WINDOWS} {$COPY_FILE_TO_WINDOWS}\'$1'
else

scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS}

ssh -l ${BACKUP_SERVER_USERNAME} ${BACKUP_SERVER_NAME} 'cmd /c ${SCAN_BATCH_FILE_WINDOWS}${COPY_FILE_TO_WINDOWS}\'$1''

fi

error_code=$?"

echo "[$(date +%c)] $1 error_code = $?" >> ${LOG_FILE}

exit $error_code"

else

echo "[$(date +%c)] $1 error_code = 5" >> ${LOG_FILE}

exit 5

fi
Parker
  • 773
  • 2
  • 11
  • 27
Mohammad AL-Rawabdeh
  • 1,612
  • 12
  • 33
  • 54

1 Answers1

1

create backup_script.sh

#!/bin/bash
BACKUP_SERVER_NAME="name"
BACKUP_SERVER_USERNAME="user"
COPY_FILE_TO_WINDOWS="/cygdrive/c/unix_test_copy"

scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS}

make executable:

chmod +x backup_script.sh

run:

backup_script.sh /etc/

To debug, change

scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS}

to

echo "scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS}"

or run:

set -x

Parker
  • 773
  • 2
  • 11
  • 27
bindbn
  • 5,211
  • 2
  • 26
  • 24