Como o título diz, eu tenho um shell script escrito, em seguida, transfiro o arquivo para RHEL6 ou 7. Eu dou a permissão executável do script e corro. Ele gera um monte de erros.
Se eu vi backup.sh, copie o texto do script, então: wq e chmod + x ele roda perfeitamente.
Eu tentei filezilla e WinSCP. Tentei alterar as configurações de transferência para binário. Eu tentei notepad ++ e notepad.exe. Nada funciona, exceto para criar o script no servidor real.
Esta questão não está isolada apenas para mim. Colegas de trabalho experimentam o mesmo resultado em suas máquinas.
Alguma idéia?
# !/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
: comando não encontrado
: comando não encontrado
novo diretório de backup / tmp / IFS-AA6_2017-10-26
: comando não encontrado
: comando não encontrado
ERRO: destino deve ser um diretório ao copiar mais de um arquivo
Erro de rsync: erros ao selecionar arquivos de entrada / saída, dirs (código 3) em main.c (542) [receiver = 3.0.6]
rsync: conexão inesperadamente fechada (9 bytes recebidos até agora) [remetente]
erro de rsync: erro no fluxo de dados do protocolo rsync (código 12) em io.c (600 [emissor = 3.0.6])
: comando não encontrado
./back.sh: linha 50: erro de sintaxe próximo do token inesperado fi'
./back.sh: line 50:
fi '
[root @ IFS-AA6 tmp] #