DailyRenewalsYYYYMMDD.txt
私の要件は、infa unixサーバーからリモートdata/infa_shared_SrcFiles/ABC/
サーバーにファイル()を移動することです。シェルスクリプトを作成しました。
Informatica
以下は、私が使用してコマンド操作を介して呼び出すスクリプトです。
Parameters to Pass
$1 - SOURCE Path
$2 - Remote Server Path
$3 - PUT Logfile
$4 - Email Subject & Body
#######################################################################################
MFT_HOST='10.XX.X.XXX'
MFT_USER='XXXXX'
MFT_PSWD='*****'
FAILURE_EMAIL='[email protected]'
SUCCESS_EMAIL='[email protected]'
cd $SCRIPT_PATH
rm -f $LOG_PATH/$3
sftp $MFT_USER@$MFT_HOST:$REMOTE_DIR_PATH <<< $'put $SOURCE_PATH' >> $LOG_PATH 2>&1
#*I have used below command as well, even this didn't worked*#
##sftp $MFT_USER:$MFT_PSWD@$MFT_HOST:$REMOTE_DIR_PATH <<< $'put $SOURCE_PATH' >> $LOG_PATH 2>&1
export RC=$?
if [[ "$RC" > 0 ]];
then
echo `date +"%m-%d-%y_%T"` >> $LOG_PATH/$3
echo "ERROR: $4 Put File to REMOTE Server Failed" >> $LOG_PATH/$3
mail -s "$4 Put File to REMOTE Server Failed" $FAILURE_EMAIL<<EOF
"$4" File is NOT present in SOURCE PATH. Check log for details.
EOF
exit -1
else
echo `date +"%m-%d-%y_%T"` >> $LOG_PATH/$3
echo "SUCCEEDED: $4 Put File to REMOTE Server Succeeded." >> $LOG_PATH/$3
mail -s "$4 Put File to REMOTE Server Successfully Completed" $SUCCESS_EMAIL<<EOF
"$4" File Successfully Transferred to REMOTE Server. Check log for details.
EOF
fi
exit 0
#############################
コマンド操作でシェルスクリプトを介してこのコマンドを実行すると、エラーが発生します。
THIS IS A PRIVATE COMPUTER SYSTEM ---
USAGE MAY BE MONITORED AND UNAUTHORIZED ACCESS
OR USE MAY RESULT IN CRIMINAL OR CIVIL PROSECUTION
Permission denied, please try again.
Received disconnect from MFT_HOST port 22:2: Too many authentication failures for MFT_USER
Authentication failed.
Couldn't read packet: Connection reset by peer
sftp
ただし、上記と同じコマンドをエディタで実行すると、パスワードの入力を求められ、パスワードを入力してputty
ファイルをリモートサーバーにコピーします。
メモ:ユーティリティがインストールされていないためexpect
使用できません。