Advertentie
De laatste keer dat we het hadden over WordPress-back-ups, liet ik je zien hoe ongelooflijk eenvoudig het was om je hele back-up te maken database en bestanden via SSH Hoe u een back-up van uw website maakt via de SSH-opdrachtregelHet maken van een back-up van uw website of blog kan een dure en zware taak zijn, waarvoor verschillende plug-ins of aanvullende abonnementen van uw hostingprovider nodig zijn, maar dat hoeft niet echt zo te zijn. Als je SSH hebt ... Lees verder met slechts een paar commando's. Deze keer laat ik zien hoe je die opdrachten kunt automatiseren, zodat je elke week zonder veel moeite nieuwe back-ups van je hele site kunt maken. Dit zal ook een geweldige introductie zijn voor zowel shell-scripting als CRON als je ze nog nooit hebt aangeraakt eerder - de sleutel tot het leren van zulke uitgebreide onderwerpen is om er meteen mee te beginnen door ze te gebruiken om iets nuttigs voor te doen u.
Samenvatting: maak een back-up van alles
We hebben deze laatste keer besproken, maar een korte samenvatting van de twee opdrachten die nodig zijn om een back-up van uw database en en bestanden te maken, ervan uitgaande dat je al bent ingelogd en jezelf hebt verplaatst naar de websitemap (lees de eerste tutorial als je dat niet doet) begrijpen). Zorg ervoor dat u ze in deze volgorde doet, zodat uw bestandsback-up het databasebestand bevat dat u in de eerste opdracht uitvoert:
mysqldump --add-drop-table -u gebruikersnaam -p databasenaam> databasebackup.sql. tar -cf backupfile.tar.
Vervang de gebruikersnaam en database naam items met uw database en gebruikersnaamgegevens.
Automation Step One: Scripting
Voorlopig gaan we een nieuw script maken met slechts een paar opdrachten die je voor back-up hebt geleerd wijzigingen om ook het wachtwoord op te nemen (aangezien dit wordt geautomatiseerd, kunt u het wachtwoord niet invoeren) elke keer). Als we klaar zijn, heb je nog maar één opdracht nodig die twee opdrachten voor je uitvoert!
Het wordt ook tijd dat u leert hoe u tekstbestanden via de opdrachtregel kunt bewerken, omdat u niet altijd op FTP en GUI's kunt vertrouwen. U kunt hiervoor een eenvoudige op tekst gebaseerde editor genaamd vi gebruiken.
Typ het volgende om de app te starten en uw eerste script te maken:
vi mybackupscript.sh
Als het bestand nog niet bestaat, wordt het gemaakt en krijgt u een nogal angstaanjagend scherm te zien dat er ongeveer zo uitziet:
vi heeft twee modi - bewerkings- en opdrachtmodus. Druk op i om naar de bewerkingsmodus te gaan. Dan kun je beginnen met typen. Je weet dat het werkte, omdat de linkerbenedenhoek verandert in –INSERT–
Begin met het typen van het volgende:
#! / bin / sh. mysqldump --add-drop-table -ugebruikersnaam -pwachtwoordtafel naam > dbbackup.sql. tar -cf backup.tar.
Merk op dat we deze keer het wachtwoord opnemen in de opdracht. Merk ook op dat wanneer we de -p-schakelaar gebruiken om het wachtwoord op te geven, we het wachtwoord er onmiddellijk achter plaatsen zonder spatie ertussen. Als je wilt, kun je in plaats daarvan de opdracht schrijven, maar functioneel is er geen verschil:
#! / bin / sh. mysqldump --add-drop-table --user =gebruikersnaam --password =wachtwoordtafel naam > dbbackup.sql. tar -cf backup.tar.
Nu moeten we het opslaan. Druk eenmaal op ESC om de bewerkingsmodus en de opdrachtmodus van de teksteditor te verlaten. Type:
:schrijven
en druk op enter en dan
: stoppen
en voer opnieuw in.
Dus je weet nu dat alle commando's die je geeft moeten worden voorafgegaan door een dubbele punt. Dat is voorlopig alles met vi.
Terug op de opdrachtregel, ga je gang en maak je nieuwe script uitvoerbaar door het volgende in te typen:
chmod 744 mybackupscript.sh
En test het ten slotte met:
./mijnbackupscript.sh
Het kan natuurlijk, afhankelijk van de grootte van je site en de snelheid van je server, even duren. Aan het einde kunt u de bestanden vermelden en zou u een backup.tar moeten vinden. Op mijn virtuele privéserver duurde het ongeveer 5 seconden om de 100 MB WordPress-siteback-up te maken.
Automatisering Stap twee: CRON
CRON is een taakplanner voor Linux. We gaan hier niet uitgebreid op in, maar ik geef je wat je nodig hebt om elke week je back-upscript uit te voeren. We hebben ook besproken hoe u CRON-taken kunt uitvoeren vanuit het configuratiescherm van uw GUI-website. 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 uw teksteditor, waarschijnlijk opnieuw vi. Als je nog nooit 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:
minuut uur dag van de maand maand dag van de week
Een * in het patroon negeert dat item. Dus in het bovenstaande voorbeeld gaan we ons back-upscript om 00 minuten 4 uur uitvoeren, elke 0 (zondag) van de week.
Hier zijn enkele andere voorbeelden om u te helpen begrijpen:
01 * * * * echo "Deze opdracht wordt om het uur om de minuut uitgevoerd" 17 8 * * * echo "Deze opdracht wordt dagelijks om 8:17 uur uitgevoerd" 17 20 * * * echo "Deze opdracht wordt dagelijks om 20:17 uur uitgevoerd" 00 4 * * 0 echo "Deze opdracht wordt elke zondag om 4 uur uitgevoerd" * 4 * * Sun echo "Zo is dit" 42 4 1 * * echo "Deze opdracht wordt elke 4 van de maand 4:42 uur uitgevoerd" 01 * 19 07 * echo "Deze opdracht wordt elk uur op 19 juli uitgevoerd"
Zodra je dat hebt ingevoerd, sla je het bestand op door op ESC te drukken en typ je: schrijven gevolgd door: stoppen. Een sneltoetsversie hiervan is gewoon typen: wq, die zowel het bestand schrijft als afsluit. Het is handig, maar als je op mij lijkt, vergeet je deze kleine snelkoppelingen.
Dat is het! Je hebt nu een up-to-date kopie van je database en de hele site in de root, genaamd backup.tar (of hoe je het ook wilt noemen). Misschien wil je wat meer scripting leren om de datum aan het einde van de bestandsnaam toe te voegen en te voorkomen dat je elke keer dezelfde overschrijft, maar dat is aan jou om te ontdekken. Ik hoop dat je kunt zien hoe krachtig de opdrachtregel nu is!
James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.