Giter VIP home page Giter VIP logo

oc-p6's Introduction

[AIC] Projet N°6 : wp_backup.py

Script de sauvegarde d'un serveur Wordpress sur un serveur FTP distant

Python 3.6.8 Centos 8 Contibutions welcom Last commit

Table des matières

  1. Contexte du projet
  2. Configuration de l'environnement
  1. Fonctionnement du programme wp_backup.py
  2. Log
  3. Crontab
  4. Les limitations du programme
  5. Contribution

Pour garantir la continuité du service et accès au site web en cas de soucis, une sauvegarde est effectuée tout les soirs via un script python.

  • CentOS 8
  • LAMP
  • Base de donnée MariaDB
  • Python 3.6.8
  • Le dossier qui héberge les élements du site : /var/www/html/wordpress
  • CentOS8
  • LFTP
  • Dossier de sauvegarde wordpress : /home/wordpress

Le programme se compose de 3 fichiers :

  • wp_backup.py
  • variables.json
  • backupbdd.sh

Pour lancer le script :

./wp_backup.py -i variables.json

Le programme se déroule ainsi :

  • Supprimer les anciens dossiers de sauvegardes en local et ne garder que les 5 derniers jours.
  • Créer le nouveau dossier de sauvegarde avec la date du jour
  • Exécuter un script shell qui :
    • Sauvegarde de la base de donnée, en utilisant la commande 'wp' : BddBackup.$(date +"%m-%d-%Y").sql
    • Sauvegarder le dossier /var/www/html/wordpress et le compresser avec la date du jour : WordpressBackup.$(date +"%m-%d-%Y").tar.gz
  • Envoie de la sauvegarde à un serveur FTP distant
  • Fichier de log généré lors de l'exécution du script log.txt

via crontab -l (on affiche la tâche planifiée à 5h30 tout les jours)

30 5 * * 1 ./path_to_script/wp_backup.py -i variables.json

Des fonctionnalités doivent être rajoutées au programme pour avoir une solution plus complète :

  • Supprimer les vieilles sauvegarde de plus de 5 jours sur le serveur FTP.
  • Ajouter une fonction pour vérifier l'intégrité des fichiers sauvegardés.
  • Convertir l'appel au script shell en fonction python.

Toute contribution est la bienvenue.

oc-p6's People

Contributors

hanroy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.