Automatisez votre sauvegarde de script avec wordpress shell simple et cron
La dernière fois que nous avons parlé de sauvegardes WordPress, je vous ai montré comment incroyablement il était facile de sauvegarder l`ensemble de votre base de données et les fichiers SSH quoique
Contenu
Recap: Sauvegarde tout
Nous avons couvert cette dernière fois, mais un bref récapitulatif sur les deux commandes nécessaires pour sauvegarder votre base de données et des fichiers, en supposant que vous avez déjà connecté et vous déplacé dans le répertoire du site (lire le premier tutoriel si vous ne comprenez pas). Assurez-vous que vous les faites dans cet ordre, afin que votre sauvegarde de fichier inclut la base de données le fichier que vous sortie dans la première commande:
mysqldump --add-drop table -u nom d`utilisateur -p databasename gt; databasebackup.sqltar -cf backupfile.tar.
Remplace le Nom d`utilisateur et nom de la base de données articles avec les détails de votre base de données et nom d`utilisateur.
Video: Crontab Basic Tutorial - BASH - Linux
Automatisation Première étape: Scripting
Pour l`instant, nous allons faire un nouveau script qui exécute simplement les commandes que vous avez appris pour la sauvegarde, avec quelques modifications d`inclure le mot de passe trop (car ce sera automatisé, vous ne serez pas en mesure de taper le mot de passe à chaque fois ). Quand nous aurons terminé, vous devriez être laissé avec une seule commande pour exécuter qui effectuera deux commandes pour vous!
Il est aussi temps que vous avez appris à modifier des fichiers texte via la ligne de commande ainsi, que vous ne pouvez pas compter sur tout le temps de FTP et de l`interface graphique. Vous pouvez utiliser un simple éditeur de texte basé appelé vi à faire.
Pour démarrer l`application et créez votre premier script, tapez:
vi mybackupscript.sh
Si le fichier ne marche pas existe déjà, il sera créé et vous montrer un écran assez intimidante semblable à ceci:
vi a deux modes - mode édition et de commande. Pour entrer dans le mode d`édition, appuyez sur i. Ensuite, vous pouvez commencer à taper. Vous saurez cela a fonctionné, parce que le bas à gauche se tourneront vers -INSERT-
Commencez par taper sur les éléments suivants:
#! / Bin / shmysqldump --add-drop table -uNom d`utilisateur -pmot de passe tablename gt; dbbackup.sqltar -cf backup.tar.
Notez que cette fois-ci, nous joignons le mot de passe dans la commande. Notez également que lorsque nous utilisons le commutateur -p pour spécifier le mot de passe, nous mettons le mot de passe immédiatement après sans espace entre eux. Si vous préférez, vous pouvez écrire la commande comme celui-ci à la place, mais fonctionnellement il n`y a pas de différence:
#! / Bin / shmysqldump --add-drop table --user =Nom d`utilisateur --password =mot de passe tablename gt; dbbackup.sqltar -cf backup.tar.
Maintenant, nous devons le sauver. Appuyez sur ESC pour sortir du mode d`édition et en mode de commande de l`éditeur de texte. Type:
:écrire
et appuyez sur Entrée, puis
Video: Shell Bash #1 - Commandes
:quitter
et entrez à nouveau.
Video: Bash backup Script to save home directory
Donc maintenant vous aurez compris que toutes les commandes que vous fournissez doivent être précédés par deux points. C`est tout avec vi pour l`instant.
Retour sur la ligne de commande, aller de l`avant et faire de votre nouveau script exécutable en tapant ce qui suit:
Video: Linux Shell Scripting (Writing and Executing a Shell script)
chmod 744 mybackupscript.sh
Et enfin, le tester avec:
./mybackupscript.sh
De toute évidence, en fonction de la taille de votre site et la vitesse de votre serveur, il peut prendre un certain temps. A la fin de celui-ci, vous pouvez lister les fichiers et devriez trouver un backup.tar. Sur mon serveur privé virtuel, il a fallu environ 5 secondes pour créer la sauvegarde du site WordPress 100MB.
Automatisation Deuxième étape: CRON
Cron est un planificateur de tâches pour Linux. Nous ne couvrira pas en profondeur, mais je vais vous donner ce que vous devez exécuter votre script de sauvegarde chaque semaine. Nous avons également couvert comment exécuter des tâches CRON à partir du panneau de commande de site Web basé sur l`interface graphique. Pour ajouter une tâche au planificateur CRON, il vous suffit d`ajouter une ligne à la « crontab ». Modifier en tapant:
crontab -e
Cela permettra d`ouvrir le fichier dans votre CRON éditeur de texte, très probablement vi à nouveau. Si vous ne l`avez jamais rien ajouté avant, il est également susceptible d`être vide. Pas de soucis. Ajouter ces lignes:
00 4 * * 0 /httpdocs/mybackupscript.sh
Le format de cette commande suit est un peu difficile, mais va comme ceci:
minute heure jour-of-the-mois mois jour de-la-semaine
A * dans le modèle ne tient pas compte de ce point. Ainsi, dans l`exemple ci-dessus, nous allons exécuter notre script de sauvegarde à 00 minutes 4 heures, chaque 0 (dimanche) de la semaine.
Voici quelques autres exemples pour vous aider à comprendre:
01 * * * * echo "Cette commande est exécutée à une minute de chaque heure"17 8 * * * écho "Cette commande est exécutée tous les jours à 08:17"17 20 * * * écho "Cette commande est exécutée tous les jours à 20:17"00 4 * * 0 écho "Cette commande est exécutée à 4 heures tous les dimanches"* 4 * * écho Sun "Alors est-ce"42 4 1 * * écho "Cette commande est exécutée 04h42 tous les 1er du mois"01 * 19 07 * echo "Cette commande est exécutée toutes les heures le 19 Juillet"
Une fois que vous avez entré que, enregistrez le fichier en appuyant sur ESC, puis en tapant: écrire suivi par: cesser de fumer. Une version de raccourci est de taper simplement: wq, ce qui permettra à la fois écrire le fichier et quitter. Il est à portée de main, mais si vous êtes comme moi, vous oubliez ces petits raccourcis.
C`est tout! Vous avez maintenant une copie à jour de votre base de données et site entier dans la racine, appelée backup.tar (ou tout ce que vous avez choisi de le nommer). Vous pouvez en apprendre un peu plus script pour ajouter la date à la fin du nom de fichier et éviter d`écraser le même à chaque fois, mais c`est à vous de découvrir. J`espère que vous pouvez voir la puissance de la ligne de commande est en fait maintenant!