Как гласит заголовок, у меня написан сценарий оболочки, а затем перенесите файл в RHEL6 или 7. Я даю сценарию разрешение на запуск и запуск. Он выводит кучу ошибок.
Если я сделаю резервную копию текста скрипта vi.sh, затем:wq и chmod +x, он отлично работает.
Я пробовал filezilla и WinSCP. Я попытался изменить настройки передачи на двоичный файл. Я пробовал notepad++ и notepad.exe. Ничего не работает, кроме создания сценария на реальном сервере.
Этот вопрос не изолирован только для меня. Сотрудники испытывают тот же результат на своих машинах.
Есть идеи?
# !/bin/bash
# A backup script that copies important files to a backup folder called
#`hostname`_'date +%Y-%m-%d`;
# Example: BrianAA_2017-10-11
path=/tmp/`hostname`_`date +%Y-%m-%d`
backup=$path
echo "Making backup directory $backup now"
mkdir -p -m777 $path
#Copy
cp -pr /opt/advatar/etc/advatar.conf $backup
cp -pr /etc/hosts $backup
cp -L /etc/rc.local $backup
cp -pr /etc/sysconfig/network $backup
cp -pr /etc/ntp.conf $backup
cp -pr /etc/sysconfig/ntpd $backup
#Looks for only "ifcfg-*" in /etc/sysconfig/network-scripts/
rsync -a --include='ifcfg-*' --exclude '*' /etc/sysconfig/network-scripts/
$backup
#iptables || firewalld
cat /etc/redhat-release | egrep -q '6.*'
if [ "$?" = "0" ]; then
cp -pr /etc/sysconfig/iptables $backup
cp -pr /etc/sysconfig/iptables-config $backup
fi
cat /etc/redhat-release | egrep -q '7.*'
if [ "$?" = "0" ]; then
cp -pr /etc/firewalld $backup
fi
#prints output of network information to txt files in $backup
route > $backup/route.txt
ip a s > $backup/ifconfig.txt
#Looks for external mount points and searches by type: cifs, nfs, rpc,
#then copies necessary files to $backup if present in mount
mount | egrep -q 'cifs|nfs|rpc'
if [ "$?" = "0" ]; then
mount > $backup/mount.txt
cp -pr /etc/auto.cifs $backup
cp -pr /etc/auto.master $backup
cp -pr /root/.smbauth $backup
cp -pr /etc/fstab $backup
else
echo "No Network Mount"
fi
[root @ IFS-AA6 tmp] # ./back.sh
: команда не найдена
: команда не найдена
каталог резервных копий /tmp /IFS-AA6_2017-10-26
: команда не найдена
: команда не найдена
ОШИБКА: место назначения должно быть каталогом при копировании более 1 файла
Ошибка rsync: ошибки при выборе файлов ввода / вывода, dirs (код 3) в main.c (542) [получатель = 3.0.6]
rsync: соединение неожиданно закрыто (получено 9 байтов) [отправитель]
Ошибка rsync: ошибка в потоке данных протокола rsync (код 12) на io.c (600 [отправитель = 3.0.6]
: команда не найдена
./back.sh: строка 50: синтаксическая ошибка рядом с неожиданным токеном fi'
./back.sh: line 50:
fi'
[root @ IFS-AA6 tmp] #