Automatiseer uw WordPress-back-up met eenvoudige Shell-scripts en CRON

Automatiseer uw WordPress-back-up met eenvoudige Shell-scripts en CRON / Wordpress en webontwikkeling

De laatste keer dat we over WordPress-back-ups praatten, liet ik je zien hoe ongelooflijk eenvoudig het was om een ​​back-up te maken van je hele database en bestanden via SSH. Hoe een back-up van je website te maken via SSH Command Line Back-up van je website of blog kan een dure en moeilijke taak zijn, waarvoor een verscheidenheid aan plug-ins of aanvullende plannen van uw hostingprovider nodig zijn, maar het hoeft niet echt te zijn. Als je SSH hebt ... Lees meer met slechts een paar commando's. Deze keer laat ik zien hoe deze opdrachten kunnen worden geautomatiseerd, zodat je elke week nieuwe back-ups van je hele site kunt maken, met heel weinig moeite. Dit zal ook dienen als een geweldige introductie tot zowel shell scripting als CRON als je ze nog nooit hebt aangeraakt - de sleutel tot het leren van zulke enorme onderwerpen is om meteen te beginnen door ze te gebruiken om iets nuttigs voor je te doen.

Samenvatting: maak een back-up van alles

We hebben dit de laatste keer besproken, maar een korte samenvatting van de twee opdrachten die nodig zijn om een ​​back-up te maken van je database en en bestanden, ervan uitgaande dat je al bent ingelogd en jezelf hebt verplaatst naar de websitemap (lees de eerste zelfstudie als je die niet begrijpt). Zorg ervoor dat u ze in deze volgorde uitvoert, zodat uw bestandsback-up het databasebestand bevat dat u in de eerste opdracht uitvoert:

mysqldump --add-drop-table -u gebruikersnaam -p databasename> databasebackup.sql tar -cf backupfile.tar .

Vervang de gebruikersnaam en database naam items met uw database en gebruikersgegevens.

Automatisering Stap één: scripting

Voor nu gaan we een nieuw script maken dat gewoon de opdrachten uitvoert die je hebt geleerd voor back-up, met een paar wijzigingen om ook het wachtwoord op te nemen (omdat dit automatisch zal zijn, kun je niet elke keer het wachtwoord typen) ). Als we klaar zijn, zou er één commando moeten blijven om uit te voeren dat twee commando's voor je zal uitvoeren!

Het wordt ook tijd dat je leert hoe je tekstbestanden kunt bewerken via de opdrachtregel, omdat je niet altijd op FTP en GUI's kunt vertrouwen. U kunt hiervoor een eenvoudige op tekst gebaseerde editor met de naam vi gebruiken.

Als u de app wilt starten en uw eerste script wilt maken, typt u:

vi mybackupscript.sh

Als het bestand niet bestaat, wordt het gemaakt en wordt er een nogal angstaanjagend scherm weergegeven dat er ongeveer zo uitziet:

vi heeft twee modi - bewerkings- en opdrachtmodus. Druk op i om naar de bewerkingsmodus te gaan. Dan kunt u beginnen met typen. Je weet dat het werkte, omdat de linkerbenedenhoek naar -INSTELLEN gaat-

Begin door het volgende te typen:

#! / bin / sh mysqldump --add-drop-table -ugebruikersnaam -pwachtwoord tafel naam > dbbackup.sql tar -cf backup.tar .

Merk op dat we deze keer het wachtwoord in het commando opnemen. Merk ook op dat wanneer we de -p switch gebruiken om het wachtwoord te specificeren, we het wachtwoord er onmiddellijk achter zetten met geen spatie ertussen. Als u wilt, kunt u in plaats daarvan de opdracht als deze schrijven, maar functioneel is er geen verschil:

#! / bin / sh mysqldump --add-drop-table --user =gebruikersnaam --password =wachtwoord tafel naam > dbbackup.sql tar -cf backup.tar .

Nu moeten we het opslaan. Druk eenmaal op ESC om de bewerkingsmodus te verlaten en naar de opdrachtmodus van de teksteditor te gaan. Type:

:schrijven

en druk op Enter en vervolgens op

: quit

en voer opnieuw in.

Dus nu heb je ontdekt dat alle commando's die je geeft moeten worden voorafgegaan door een dubbele punt. Dat is alles met vi voor nu.

Terug op de opdrachtregel, ga je gang en maak je nieuwe script uitvoerbaar door het volgende in te typen:

chmod 744 mybackupscript.sh

En ten slotte, test het met:

./mybackupscript.sh

Vanzelfsprekend kan het even duren, afhankelijk van de grootte van uw site en de snelheid van uw server. Aan het einde daarvan kun je de bestanden weergeven en een backup.tar vinden. Op mijn virtuele privéserver duurde het ongeveer 5 seconden om de back-up van de WordPress-site van 100 MB te maken.

Automatisering Stap twee: CRON

CRON is een taakplanner voor Linux. We zullen hier niet dieper op ingaan, maar ik zal je geven wat je nodig hebt om elke week je backup-script uit te voeren. We hebben ook besproken hoe u CRON-taken kunt uitvoeren vanuit uw op GUI gebaseerde website-configuratiescherm. Om een ​​taak aan de CRON-planner toe te voegen, voegt u gewoon een regel toe aan de “crontab”. Bewerk dit door te typen:

crontab -e

Dit opent het CRON-bestand in je teksteditor, waarschijnlijk vi weer. Als je nog nooit eerder iets hebt toegevoegd, is het waarschijnlijk ook leeg. Maak je geen zorgen. Voeg deze regels toe:

00 4 * * 0 /httpdocs/mybackupscript.sh

Het formaat dat deze opdracht volgt is een beetje moeilijk, maar gaat als volgt:

minuutuur dag van de maand maanddag van de week

Een * in het patroon negeert dat item. Dus in het bovenstaande voorbeeld gaan we ons back-up script uitvoeren op 00 minuten 4 uur, elke 0 (zondag) van de week.

Hier zijn enkele andere voorbeelden om u te helpen begrijpen:

01 * * * * echo "Deze opdracht wordt om één minuut om het uur uitgevoerd" 17 8 * * * echo "Deze opdracht wordt dagelijks om 08:17 uur uitgevoerd" 17 20 * * * echo "Deze opdracht wordt dagelijks om 8 uur uitgevoerd : 17 pm "00 4 * * 0 echo" Deze opdracht wordt elke zondag om 4 uur uitgevoerd "* 4 * * Zon echo" Zo is dit "42 4 1 * * echo" Deze opdracht wordt om 04:42 elke 4e uitgevoerd de maand "01 * 19 07 * echo" Deze opdracht wordt elk uur uitgevoerd op 19 juli "

Als je dat hebt ingevoerd, sla je het bestand op door op ESC te drukken en typ je: schrijven gevolgd door: afsluiten. Een snelkoppelingsversie hiervan is om gewoon in te typen: wq, die zowel het bestand zal schrijven als zal stoppen. Het is handig, maar als je zoiets als mij bent, vergeet je deze kleine snelkoppelingen.

Dat is het! U hebt nu een bijgewerkte kopie van uw database en de volledige site in de hoofdmap, genaamd backup.tar (of wat u ook kiest om het een naam te geven). Misschien wilt u iets meer scripting leren om de datum aan het einde van de bestandsnaam toe te voegen en te voorkomen dat u elke keer dezelfde overschrijft, maar dat is aan u om te ontdekken. Ik hoop dat je kunt zien hoe krachtig de commandoregel nu is!

Ontdek meer over: Computerautomatisering, Gegevensback-up, Programmeren, Wordpress.