Mettre en place une sauvegarde automatique pour Joomla

De Wiki Amis SH
Aller à la navigation Aller à la recherche



Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack


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

Bienvenue sur le wiki de Amis SH.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de Amis SH vous permet de poser vos questions.
Consulter le site amis-sh.fr pour installer votre propre serveur web.
Améliorer le contenu des pages avec vos retours depuis l'onglet discussion.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Miner de la cryptomonnaie.