Vous souhaitez sauvegarder votre serveur Ubuntu avec Tarsnap et également sauvegarder votre base de données Mysql ? Suivez alors ces étapes :
Installer Tarsnap
1. Installer les dépendances
sudo apt-get install build-essential ext2fs-dev zlib1g-dev libssl-dev
2. Installer Tarsnap
Téléchargez Tarsnap avec ce wget :
wget --no-check-certificate https://www.tarsnap.com/download/tarsnap-autoconf-1.0.35.tgz
Nous devons maintenant extraire, configurer et compiler Tarsnap.
tar xfz tarsnap-autoconf-1.0.35.tgz cd tarsnap-autoconf-1.0.35 ./configure sudo make install clean
3. Configurer Tarsnap
Copiez l'exemple de configuration dans la configuration en direct :
sudo mv /usr/local/etc/tarsnap.conf.sample /usr/local/etc/tarsnap.conf
Créez ensuite une clé, enregistrez cette clé sur une clé USB ou autre, vous ne pouvez pas la réinitialiser.
mkdir ~/.tarsnap tarsnap-keygen --keyfile /home/youruser/.tarsnap/tarsnap.key --user [email protected] --machine your-machine-name Vous serez invité à saisir votre mot de passe Tarsnap lors de l'exécution de tarsnap-keygen.
Maintenant, éditez le fichier tarsnap.conf :
sudo pico /usr/local/etc/tarsnap.conf
Pointez la directive keyfile vers le fichier de clés que nous avons créé il y a quelques étapes. Le haut de votre fichier tarsnap.conf devrait maintenant ressembler à ceci :
### Options recommandées # Répertoire de cache Tarsnap cachedir /tmp/tarsnap-cache # Fichier de clé Tarsnap keyfile /home/youruser/.tarsnap/tarsnap.key
4. Utilisez Tarsnap pour faire une sauvegarde
Pour créer une sauvegarde, procédez comme suit :
tarsnap -c -f nom_serveur-20140805 /home/forge
J'utilise le répertoire personnel de Laravel forge. Ce répertoire est maintenant sauvegardé sur Tarsnap. Dans l'étape suivante, nous ajouterons un dossier de sauvegarde avec la dernière base de données mysql.
Sauvegarde de la base de données Mysql
Créez un dossier dans /home/forge : backup. Créez un fichier dans le dossier :
appuyez sur /home/forge/makebackup.sh
Insérez ces informations dans le fichier :
#!/bin/sh AUJOURD'HUI=$(date "+%A"); flock -n ~/.mysqldump mysqldump -u forge -p forge --password=VOTRE MOT DE PASSE > ~/backup/mysql-latest.sql; flock -n ~/.tarsnap.lock tarsnap -c -f "$(uname -n)-$(date +%Y-%m-%d_%H-%M-%S)" ~/ 2>/dev/null;
Créer une tâche planifiée
Que makebackup.sh soit appelé tous les x jours :
crontab -e
Insérer cette information :
CHEMIN=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAILTO={{VOTRE EMAILICI}} CHEMIN=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 2 * * * flock -n ~/.makebackup.lock ~/backup/makebackup.sh
Pour afficher les fichiers sauvegardés jusqu'à présent :
tarsnap --liste-archives | trier
Grâce à Longren.io et merci à Hypernœud
Merci de votre intérêt pour Tarsnap ! La ligne wget code en dur la version 1.0.35, mais Tarsnap 1.0.35 a 5 ans (25 juillet 2013). La dernière version est la 1.0.39.
En général, je suggérerais aux gens d'aller à https://tarsnap.com pour trouver la dernière version, pour éviter une documentation obsolète.