Ajuda na escrita do script Linux para backup e arquivos ftp para outro servidor

1

Estou usando o MySQL como o sistema de banco de dados para meu aplicativo em um sistema Linux. Toda semana eu atualizo o sistema e faço backups (mysqldump) dos bancos de dados alterados (2 bancos de dados). Eu então .tar.gz e ftp o arquivo resultante para um servidor remoto, após o qual eu removo os backups originais e arquivos tar.gz do servidor Linux. Sendo um novato completo quando se trata de sistemas Unix, gostaria de saber se é possível escrever um script que faria tudo isso automaticamente, ou seja, execute os seguintes passos.

1) Banco de dados de backup A para A.sql (mysqldump) 2) Banco de dados de backup B para B.sql (mysqldump) 3) tar -cvzf dest.tar.gz A.sql B.sql 4) ftp dest.tar.gz para [email protected] 5) Excluir A.sql, B.sql, dest.tar do servidor local

Seria ótimo se eu pudesse dar alguns passos na direção certa! Agradecemos antecipadamente, Tim

    
por TMM 13.09.2010 / 23:57

2 respostas

1

Abaixo está um exemplo básico. Existem muitos exemplos para executar scripts mysqldump, eu colei em um rápido.

#!/bin/bash -e
# 

#Define dumpfile name
MYSQLBACKUP= /tmp/dbackup

#Perform MySQL dump
#Replace appropriate USER, PASSWORD and paths to mysqldump, socket, etc.
#Drop in you preferred method - tar versus gzip, etc.
/usr/bin/mysqldump --all-databases -S /tmp/mysql.sock -uUSER -pPASSWORD | gzip -c > $MYSQLBACKUP

#FTP Backup file to remote FTP server
#Replace 192.1681.1.1 with IP address of remote server
#Replace USER & PASSWORD
echo "open 192.168.1.1 
      user USER PASSWORD  
      verbose 
      cd /some/directory/on/remote/server
      bin 
      prompt
      mput $MYSQLBACKUP
      close 
      quit" | ftp -n >> /tmp/somelogfile

#Remove the file post transfer.  Need to be sure it was ftp'd first
rm -f "MYSQLBACKUP"

    
por 14.09.2010 / 00:53
0

você tem ssh no remoteserver.com? - se for assim, seria mais fácil fazer o script usando scp a partir do conjunto de ferramentas ssh e usando uma chave ssh para que você possa efetuar o login sem uma senha. Dessa forma, copiar o arquivo / fazer um rsync dele é apenas um comando.

    
por 14.09.2010 / 00:02