ORIENTAÇÕES Dentro do diretório do usuário que irá executar o backup criar um arquivo oculto com o nome .my.cnf com o conteúdo abaixo para que o script de gerar o dump do banco não pergunte a senha.
[mysqldump] user = root password = SENHA
Instalar NCFTP para poder transferir a pasta todas, se preferir usar o comando FTP pode usar esse links # CentOS
yum install ncftp # RedHat e derivados que usam DNF dnf install ncftp # Debian e derivados apt-get install ncftp
Abaixo está o script com os devidos comentários.
#!/bin/bash # Variáveis usadas. BACKUPFOLDER=$(date '+%Y-%m-%d') SQLDUMP=MySQL-Dump-$(date '+%Y-%m-%d').sql RRDFOLDER=RRD-$(date '+%Y-%m-%d').tar.xz # O "date" está sendo usado para gravar no log a data e hora de inicio. date printf "Iniciando\n" # Criando e acessando o diretório exclusivo para o backup cd /root/backup mkdir $BACKUPFOLDER cd $BACKUPFOLDER # Fazer o dump (backup) do banco de dados. mysqldump librenms > $SQLDUMP # Compacta a pasta onde ficam os dados do monitoramento printf "Compactando...\n" tar -Jcf $RRDFOLDER /opt/librenms/rrd # Copia o arquivo de configuração do librenms para a pasta do backup printf "Copiando config.php...\n" cp /opt/librenms/config.php . printf "Enviando\n" # Volta para o diretório anterior para enviar a pasta toda. cd .. # Envia a pasta da variável $BACKUPFOLDER para o servidor IP para o diretório remoto "Monitoramento/librenms/" # usando o usuário e senha do comando ncftpput -R -v -u "USER" -p "PASSWORD" SERVER Monitoramento/librenms/ $BACKUPFOLDER # Remove a pasta do servidor local pois ela usa muito espaço em disco. rm -rf $BACKUPFOLDER # O "date" está sendo usado para gravar no log a data e hora de término. printf "Finalizado....\n" date exit 0