Mettre en place une sauvegarde automatique pour Joomla

De Wiki. Analyse, Communication, Développement, Hacking.
Aller à : navigation, rechercher
Naviguer sur le wiki : Accueil du wiki - Administrateur - Développeur - Intégrateur - Marketing - Multimédia - Objectifs - We make Hack
Naviguer sur le site : Accueil du site - Les annuaires - Les éditoriaux - Le forum - Les outils - Les projets
 
Consulter le sommaire de cette page en étant déconnecté du réseau : Télécharger le sommaire en PDF

Mettre en place une sauvegarde automatique pour Joomla

Sur le modèle de la sauvegarde automatisée de Redmine

Sauvegarder Redmine.

Créer les fichiers suivants pour sauvegarder les fichiers de Joomla et la base de données

Avec l’utilisateur debian sudoers :
cd ~/
sudo mkdir script-maintenance
cd /home/debian/script-maintenance/
sudo touch sauvegarde_fichiers_serveur.sh
sudo touch sauvegarde_sql_joomla.sh
cd ~/
sudo mkdir backup
cd backup/
sudo mkdir sql
sudo mkdir fichiers
cd sql
sudo mkdir joomla
sudo chmod 640 joomla
cd ..
cd fichiers
sudo mkdir serveur
sudo chmod 640 serveur
cd ~/
sudo chmod -R 640 backup/
sudo chmod -R 640 script-maintenance/
sudo chown -R root:root backup/ script-maintenance/
# Script de sauvegarde de la base de données :
cd ~/
sudo bash
cd /home/debian/script-maintenance/
nano sauvegarde_sql_joomla.sh
# Ajouter :
sudo mysqldump --single-transaction -h localhost -u USERBDD -pPASSWORDBDD BDD > /home/debian/backup/sql/joomla/sauvegarde_sql_joomla_`date +%d_%m_%y_%Hh`.sql
# Tester le script de sauvegarde qui va enregistrer la base de données dans ~/backup
cd ~/
sudo sh script-maintenance/sauvegarde_sql_joomla.sh
sudo bash
cd backup
ls
# Le fichier de la base de données a été correctement créé.
# Script de sauvegarde des fichiers :
cd ~/
sudo bash
cd /home/debian/script-maintenance/
nano sauvegarde_fichiers_serveur.sh
# Ajouter :
# !/bin/bash
# sauvegarde_fichiers_serveur.sh
# sh sauvegarde_fichiers_serveur.sh
mkdir -p /home/debian/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh')
cd /var/www/html
cp -aRv * /home/debian/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh')
cd /home/debian/backup/fichiers/serveur/
tar -zcf sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh').tgz /home/debian/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh')
# Tester le script de sauvegarde des fichiers du serveur.
exit
cd ~/
sudo sh script-maintenance/sauvegarde_fichiers_serveur.sh
# Établir la connexion à DropBox
Connecter son serveur à Dropbox.
# Créer un nouveau script dans le dossier script-maintenance
sudo touch script-maintenance/deplacer-sauvegarde-serveur-vers-dropbox-local.sh
# Éditer le fichier deplacer-sauvegarde-vers-dropbox-local.sh
sudo nano script-maintenance/deplacer-sauvegarde-serveur-vers-dropbox-local.sh
# Ajouter le code suivant :
# Se placer dans le répertoire de l'utilisateur.
cd /home/debian/
# Copier les données du dossier backup vers Dropbox en local.
cp backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh').tgz Dropbox/Unis-pour-le-climat/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh').tgz
cp backup/sql/joomla/sauvegarde_sql_joomla_$(date +'%d_%m_%y_%Hh').sql Dropbox/Unis-pour-le-climat/backup/sql/joomla/sauvegarde_sql_joomla_$(date +'%d_%m_%y_%Hh').sql
# Donner le droit 755 pour permettre la synchronisation avec le cloud Dropbox.
# Retirer les droits pour restreindre l'accès avec chmod 640.
sudo chmod -R 755 Dropbox/
# Chiffrer un dossier avec un mot de passe.
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on -mhe=on -p'MOTDEPASSESAUVEGARDE' Dropbox/Unis-pour-le-climat/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh').7z Dropbox/Unis-pour-le-climat/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh').tgz
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on -mhe=on -p'MOTDEPASSESAUVEGARDE' Dropbox/Unis-pour-le-climat/backup/sql/joomla/sauvegarde_sql_joomla_$(date +'%d_%m_%y_%Hh').7z Dropbox/Unis-pour-le-climat/backup/sql/joomla/sauvegarde_sql_joomla_$(date +'%d_%m_%y_%Hh').sql
# Déchiffrer le fichier avec sudo bash en local, puisque le dossier est en chmod 640 par défaut.
# Supression des archives non sécurisées pour ne pas les exporter.
rm Dropbox/Unis-pour-le-climat/backup/fichiers/serveur/sauvegarde_fichiers_serveur_$(date +'%d_%m_%y_%Hh').tgz
rm Dropbox/Unis-pour-le-climat/backup/sql/joomla/sauvegarde_sql_joomla_$(date +'%d_%m_%y_%Hh').sql
Exécuter le script pour exporter une copie de la sauvegarde vers le dossier Dropbox en local.
sudo sh script-maintenance/deplacer-sauvegarde-serveur-vers-dropbox-local.sh
Récapitulatif pour effectuer une sauvegarde locale et distante
cd ~/
sudo sh script-maintenance/sauvegarde_sql_joomla.sh
sudo sh script-maintenance/sauvegarde_fichiers_serveur.sh
sudo sh script-maintenance/deplacer-sauvegarde-serveur-vers-dropbox-local.sh
sh /usr/local/bin/Demarrer-Arreter-Dropbox.sh
Lancer toutes les actions en un seul script
# Créer un nouveau script dans le dossier /usr/local/bin.
cd /usr/local/bin
sudo touch Automatisation-sauvegarde-serveur-cron.sh
sudo nano Automatisation-sauvegarde-serveur-cron.sh
# Ajouter le code suivant :
#!/bin/bash
# Ajouter le script Automatisation-sauvegarde-serveur-cron.sh dans /usr/local/bin
# Lancer le script : sh /usr/local/bin/Automatisation-sauvegarde-serveur-cron.sh
cd ~/

# Supprimer les vieux fichiers présents dans Dropbox.
find /home/debian/Dropbox/Unis-pour-le-climat/backup/fichiers/serveur/. -type f -mtime +16 -exec echo "rm -f {}" \;
find /home/debian/Dropbox/Unis-pour-le-climat/backup/sql/joomla/. -type f -mtime +10 -exec echo "rm -f {}" \;

sudo sh script-maintenance/sauvegarde_sql_joomla.sh
sudo sh script-maintenance/sauvegarde_fichiers_serveur.sh
sudo sh script-maintenance/deplacer-sauvegarde-serveur-vers-dropbox-local.sh
sh /usr/local/bin/Demarrer-Arreter-Dropbox.sh
Lancer ce script permet d'effectuer toutes les actions précédentes
sh /usr/local/bin/Automatisation-sauvegarde-serveur-cron.sh
Ajouter une tâche cron
## Existe déjà créé lors de la procédure d’installation de Redmine.
## sudo touch /var/log/cron-dropbox.log
## Le propriétaire et le groupe du fichier cron-dropbox.log ont été changés pour l'utilisateur courant de debian.
## sudo chown debian:debian /var/log/cron-dropbox.log
crontab -e
# Les premier et quinzième du mois à 19h17
17 19 1,15 * * /usr/local/bin/Automatisation-sauvegarde-serveur-cron.sh >> /var/log/cron-dropbox.log 2>&1

NAVIGATION

PARTICIPER ET PARTAGER

Vous êtes sur le wiki de Vision du Web.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Pour participer sur le wiki, créer un compte utilisateur en haut à droite.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Identifiez-vous pour poser vos questions sur la page de discussion de VisionDuWeb.
Améliorer le contenu des pages en faisant des propositions depuis l'onglet discussion.
Pour écrire en Markdown : Éditeur - Générateur de tableau 1 - Générateur de tableau 2.
Les informations du wiki ne doivent pas servir à nuire à autrui ou à un système informatique.
De nombreux outils gratuits sont listés et disponibles dans la boîte à outils de Vision du web.
D'autres pages du wiki peuvent correspondre à vos attentes. La liste de toutes les pages du wiki.

VALORISER LE WIKI

Valoriser le contenu partagé sur le wiki avec un don en monnaie numérique :
AEON - Bitcoins (BTC) - Bitcoins Cash - Bitcoins Gold - Bitcore (BTX) - Blackcoins - Bytecoins - Clams - Dash - Monero - Dogecoins - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.
Miroir PlanetHoster du 1er Novembre 2018.