В AIX у меня есть скрипт, который SSH к удаленному серверу
#!/bin/sh
Usage () {
echo "Usage: $0 <config_file>"
echo "Example: ./transfer_dmz_startD.sh /export/data/mbsesb/config/transfer_dmz.cfg"
exit
}
if [ $# -lt 1 ]
then
usage
fi
config_file=${1}
NAME=`basename $0 .sh`
LOG=${NAME}.log
Today=`date '+%Y%m%d'`
TARFILE=${NAME}.${Today}
ZIPFILE=${TARFILE}.gz
DMZ_USER=aaa
DMZ_HOST=bbbb
TIMESTAMP=`date +%H:%M:%S`
LOCL_WORKING_DIR=`grep "^local" $config_file | cut -d'=' -f2`
LOGDIR=`grep "^log" $config_file | cut -d'=' -f2`
DESTSERVNAME=`grep "^destserver" $config_file | cut -d'=' -f2`
DAILY_DEST_DIR=`grep "^daily" $config_file | cut -d'=' -f2`
WEEKLY_DEST_DIR=`grep "^weekly" $config_file | cut -d'=' -f2`
MONTH_DEST_DIR=`grep "^monthly" $config_file | cut -d'=' -f2`
LOCLSERVNAME=`grep "^loclserver" $config_file | cut -d'=' -f2`
LOCL_FILES_DIR=`grep "^mbsesb" $config_file | cut -d'=' -f2`
LOGF=${LOGDIR}.${LOG}
mkdir -p ${LOCL_FILES_DIR}/cool_${Today}
if [ $? != 0 ]
then
echo "Cannot create ${LOCL_FILES_DIR}/cool_${Today}" >>$LOGF
echo "Check each directory permission and rerun the program">>$LOGF
echo "$NAME terminated abnormaly">>$LOGF
mailx -r user@example.com -s "!!!Please read a $LOGF and make appropriate action"
exit 1
fi
ssh ${DMZ_USER}@{$DMZ_HOST}
if [ $? != 0 ]
then
echo "Cannot connect to $DMZ_USER server, please check connection and re-run the script again">>$LOGF
echo "$NAME terminated abnormaly">>$LOGF
echo "$NAME.sh cannot connect to ${DMZ_USER}@{$DMZ_HOST}" | mailx -r user2@example.com -s "!!!Please read a $LOGF and make appropriate action"
exit 1
fi
datetime=`date +%p`
if [ ${datetime} -eq "AM" ]
than
ext=Daily
else
ext=EOD
fi
cd $DAILY_DEST_DIR
tar -cvf $TARFILE.$ext.tar *$Today*.*
if [ $? != 0 ]
then
echo "$NAME.sh cannot create tar file on $DMZ_USER server" >>$LOGF
echo "email is sending to developer" >>$LOGF
mailx -r user@example.com -s "!!!Cannot tar the files on hbrgmfidmzb1. Please check the files on daily directory"
fi
gzip $TARFILE.$ext.tar
if [ $? != 0 ]
then
echo "$NAME.sh cannot create zip file"
echo "email is sending to developer"
mailx -r user@example.com -s "!!!Cannot tar the files on hbrgmfidmzb1. Please check the files on daily directory"
fi
После этой команды ошибка говорит:
ssh: не удалось разрешить имя хоста {Apsswd}: имя хоста и имя службы не предоставлены или не найдены
Флаги, которые вы дали, не имеют смысла, так как вы не отправляете почту.
SSH_KEY настроены, я могу подключиться к этому серверу вручную, но скрипт не работает.
Любой совет?