====== Script para backup mínimo do Librenms em um FTP ====== 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 [[public:tutoriais:linux:backup-ftp-linux|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