Automatisez votre sauvegarde WordPress avec Simple Shell Scripting & CRON

Automatisez votre sauvegarde WordPress avec Simple Shell Scripting & CRON / Wordpress & Développement Web

La dernière fois que nous avons parlé de sauvegardes WordPress, je vous ai montré à quel point il était incroyablement facile de sauvegarder votre base de données et vos fichiers en entier. SSH - Comment sauvegarder votre site Web via la ligne de commande SSH - Comment sauvegarder votre site Web via la ligne de commande SSH? être une tâche coûteuse et ardue, nécessitant une variété de plugins, ou des plans supplémentaires de votre fournisseur d'hébergement - mais ce n'est pas nécessairement le cas. Si vous avez SSH… Lisez Plus avec seulement quelques commandes. Cette fois, je vais vous montrer comment automatiser ces commandes, en vous donnant de nouvelles sauvegardes de votre site entier chaque semaine, avec très peu d’effort. Cela constituera également une excellente introduction aux scripts shell et à CRON si vous ne les avez jamais touchés auparavant - la clé pour apprendre des sujets aussi vastes est de commencer par les utiliser pour faire quelque chose d'utile pour vous..

Récapitulation: tout sauvegarder

Nous avons couvert cette dernière fois, mais un rapide récapitulatif des deux commandes nécessaires à la sauvegarde de votre base de données et de vos fichiers, en supposant que vous soyez déjà connecté et que vous vous soyez déplacé dans le répertoire du site Web (lisez le premier tutoriel si vous ne comprenez pas). Assurez-vous de les exécuter dans cet ordre, de sorte que votre sauvegarde de fichier inclue le fichier de base de données que vous avez généré dans la première commande:

mysqldump --add-drop-table -u nom_utilisateur -p nom_base_données> databasebackup.sql tar -cf backupfile.tar .

Remplace le Nom d'utilisateur et nom de la base de données articles avec votre base de données et votre identifiant.

Première étape de l'automatisation: Script

Pour le moment, nous allons créer un nouveau script qui exécute simplement les commandes que vous avez apprises pour la sauvegarde, avec quelques modifications pour inclure également le mot de passe (car cela sera automatisé, vous ne pourrez pas le saisir à chaque fois. ). Lorsque nous aurons terminé, vous ne devriez plus avoir qu’une seule commande à exécuter qui exécutera deux commandes pour vous.!

Il est également grand temps que vous appreniez à modifier des fichiers texte via la ligne de commande, car vous ne pouvez pas toujours compter sur FTP et les interfaces graphiques. Vous pouvez utiliser un éditeur de texte simple appelé vi pour le faire..

Pour démarrer l'application et créer votre premier script, tapez:

vi mybackupscript.sh

Si le fichier n'existe pas déjà, il sera créé et un écran plutôt intimidant ressemblera à celui-ci:

vi a deux modes - le mode édition et le mode commande. Pour entrer en mode édition, appuyez sur i. Ensuite, vous pouvez commencer à taper. Vous saurez que cela a fonctionné, car en bas à gauche se tournera vers -INSERT-

Commencez par taper les éléments suivants:

#! / bin / sh mysqldump --add-drop-table -uNom d'utilisateur -pmot de passe nom de la table > dbbackup.sql tar -cf sauvegarde.tar .

Notez que cette fois, nous incluons le mot de passe dans la commande. Notez également que lorsque nous utilisons le paramètre -p pour spécifier le mot de passe, nous le plaçons immédiatement après le mot de passe, sans espace entre eux. Si vous préférez, vous pouvez écrire la commande comme ceci, mais sur le plan fonctionnel, il n'y a pas de différence:

#! / bin / sh mysqldump --add-drop-table --user =Nom d'utilisateur --mot de passe =mot de passe nom de la table > dbbackup.sql tar -cf sauvegarde.tar .

Maintenant, nous devons le sauver. Appuyez une fois sur Echap pour sortir du mode édition et passer en mode commande de l'éditeur de texte. Type:

:écrire

et appuyez sur Entrée, puis

:quitter

et entrez à nouveau.

Donc, à ce stade, vous aurez compris que toute commande que vous donnez doit être précédée de deux points. C'est tout avec vi pour l'instant.

De retour sur la ligne de commande, continuez et rendez votre nouveau script exécutable en tapant ce qui suit:

chmod 744 mybackupscript.sh

Et enfin, testez-le avec:

./mybackupscript.sh

Évidemment, selon la taille de votre site et la vitesse de votre serveur, cela peut prendre un certain temps. À la fin, vous pouvez lister les fichiers et trouver un fichier backup.tar. Sur mon serveur privé virtuel, il a fallu environ 5 secondes pour créer la sauvegarde de site WordPress de 100 Mo..

Deuxième étape de l'automatisation: CRON

CRON est un planificateur de tâches pour Linux. Nous ne traiterons pas cette question en détail ici, mais je vous donnerai ce dont vous avez besoin pour exécuter votre script de sauvegarde chaque semaine. Nous avons également expliqué comment exécuter les tâches CRON à partir du panneau de commande de votre site Web basé sur une interface graphique. Pour ajouter une tâche au planificateur CRON, il vous suffit d'ajouter une ligne au “crontab”. Éditez ceci en tapant:

crontab -e

Cela ouvrira le fichier CRON dans votre éditeur de texte, probablement vi encore. Si vous n'avez jamais rien ajouté auparavant, il est également susceptible d'être vide. Pas de soucis. Ajoutez ces lignes:

00 4 * * 0 /httpdocs/mybackupscript.sh

Le format que cette commande suit est un peu difficile, mais se présente comme suit:

minute heure jour du mois mois jour de la semaine

Un * dans le motif ignore cet élément. Donc, dans l'exemple ci-dessus, nous allons exécuter notre script de sauvegarde à 00 minutes 4 heures, tous les 0 (dimanche) de la semaine.

Voici d'autres exemples pour vous aider à comprendre:

01 * * * * echo "Cette commande est exécutée toutes les heures toutes les heures." 17 8 * * * echo "Cette commande est exécutée quotidiennement à 8h17." 17 20 * * * echo "Cette commande est exécutée quotidiennement à 8h00. : 17 h 00 "00 4 * * 0 echo" Cette commande est exécutée à 4 heures du matin tous les dimanches "* 4 * * Sun echo" Il en est ainsi "42 4 1 * * echo" Cette commande est exécutée à 4 h 42 le premier du mois. le mois "01 * 19 07 * echo" Cette commande est exécutée toutes les heures le 19 juillet "

Une fois que vous avez entré votre nom, enregistrez le fichier en appuyant sur ECHAP, puis en tapant: write suivi de: quit. Une version raccourcie de ceci est juste pour taper: wq, qui écrira le fichier et quittera. C'est pratique, mais si vous êtes comme moi, vous oubliez ces petits raccourcis.

C'est tout! Vous aurez maintenant une copie à jour de votre base de données et de l'intégralité du site à la racine, appelée backup.tar (ou le nom de votre choix). Vous voudrez peut-être apprendre un peu plus de script pour ajouter la date à la fin du nom de fichier et éviter d’écraser la même à chaque fois, mais c’est à vous de le découvrir. J'espère que vous pouvez voir à quel point la ligne de commande est puissante!

En savoir plus sur: l'automatisation informatique, la sauvegarde des données, la programmation, Wordpress.