1 votes

Aide à l'écriture d'un script Linux pour sauvegarder et transférer des fichiers vers un autre serveur via FTP

Je suis en train d'utiliser MySQL comme système de base de données pour mon application sur un système Linux. Chaque semaine, je mets à jour le système et je fais des sauvegardes (mysqldump) des bases de données modifiées (2 bases de données). Ensuite, je les .tar.gz et j'envoie le fichier résultant par ftp à un serveur distant, après quoi je supprime les sauvegardes originales et les fichiers tar.gz du serveur Linux. Étant complètement novice en ce qui concerne les systèmes Unix, j'aimerais savoir s'il est possible d'écrire un script qui ferait tout cela automatiquement, c'est-à-dire effectuer les étapes suivantes.

1) Sauvegarder la base de données A en A.sql (mysqldump) 2) Sauvegarder la base de données B en B.sql (mysqldump) 3) tar -cvzf dest.tar.gz A.sql B.sql 4) ftp dest.tar.gz vers ftp@remoteserver.com 5) Supprimer A.sql, B.sql, dest.tar du serveur local

Il serait formidable si je pouvais obtenir quelques indications dans la bonne direction ! Merci d'avance, Tim

1voto

Mikel Points 183

Voici un exemple de base. Il existe de nombreux exemples pour l'exécution de scripts mysqldump, j'en ai simplement collé un rapide.

#!/bin/bash -e
# 

#Définir le nom du fichier de sauvegarde
MYSQLBACKUP= /tmp/dbackup

#Effectuer la sauvegarde MySQL
#Remplacez le nom d'UTILISATEUR, le MOT DE PASSE et les chemins vers mysqldump, le socket, etc.
#Utilisez votre méthode préférée - tar versus gzip, etc.
/usr/bin/mysqldump --all-databases -S /tmp/mysql.sock -uUSER -pPASSWORD | gzip -c > $MYSQLBACKUP

#Transférer le fichier de sauvegarde FTP vers un serveur FTP distant
#Remplacez 192.168.1.1 par l'adresse IP du serveur distant
#Remplacez UTILISATEUR & MOT DE PASSE
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

#Supprimer le fichier après le transfert. Il faut être sûr qu'il a été transféré par FTP en premier
rm -f "MYSQLBACKUP"

0voto

Sirex Points 10734

Avez-vous ssh sur le remoteserver.com ? - Si tel est le cas, il serait plus facile de scripter en utilisant scp à partir de la suite d'outils ssh, et en utilisant une clé ssh pour vous connecter sans mot de passe. De cette façon, copier le fichier / effectuer un rsync de celui-ci n'est qu'une commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X