Backup MySQL
Da Linux, per eseguire il backup di MySQL, il modo più semplice è mysqldump
mysqldump --opt -u root -p dbMain >nomefile.dump
successivamente si può eseguire una copia remota utilizzando curl (curl.haxx.se/docs/manual.html)
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
Di seguito uno script bash completo
Esempio backup.sh
#!/bin/sh DATE=`/bin/date +%Y%m%d%H%M%S` RIFERIMENTO=MySQL180 echo "Cancella vecchi backup ...." rm *.$RIFERIMENTO.tar.gz #find /root -type f -name "*.tar.gz" -mtime +1 -exec rm {} \; DATABASE_LIST=`mysql --user=myuser --password=mypass --skip-column-names --execute="show databases"` echo "Creata lista databases...." for i in $DATABASE_LIST; do echo "Elaborazione database $i ...." if [ $i != "information_schema" ] && [ $i != "mysql" ] && [ $i != "performance_schema" ] ; then mysqldump --user=myuser --password=mypass --databases $i > $i.sql fi done /bin/tar -pzcf $DATE.$RIFERIMENTO.tar.gz *.sql curl -T $DATE.$RIFERIMENTO.tar.gz -u backup:ftppass ftp://myNAS/Backups/Server/db/$DATE.$RIFERIMENTO.tar.gz.zip rm *.sql echo "Backup ultimato"
Copiare lo script su /root ed eseguire chmod 700