Reklame

wordpress site backupSidste gang vi talte om WordPress-sikkerhedskopier, viste jeg dig, hvor utroligt nemt det var at sikkerhedskopiere hele dit database og filer dog SSH Sådan sikkerhedskopieres dit websted gennem SSH-kommandolinjeSikkerhedskopiering af dit websted eller blog kan være en dyr og besværlig opgave, der kræver en række plugins eller yderligere planer fra din hostingudbyder - men det behøver ikke være rigtigt. Hvis du har SSH ... Læs mere med kun få kommandoer. Denne gang skal jeg vise, hvordan du automatiserer disse kommandoer og giver dig friske sikkerhedskopier af hele dit websted hver uge med meget lidt indsats. Dette vil også tjene som en god introduktion til både shell-scripting og CRON, hvis du aldrig har rørt dem før - nøglen til at lære så store emner er at starte lige ved at bruge dem til at gøre noget nyttigt til du.

Recap: Sikkerhedskopier alt

Vi dækkede denne sidste gang, men en hurtig oversigt over de to kommandoer, der var nødvendige for at tage backup af din database og og filer, forudsat at du allerede er logget ind og flyttet dig selv til webstedsoversigten (læse den første tutorial, hvis du ikke gør det forstå). Sørg for, at du gør dem i denne rækkefølge, så din sikkerhedskopi indeholder den databasefil, du udsender i den første kommando:

instagram viewer

mysqldump - tilføj-drop-table -u brugernavn -p databasenavn> databasebackup.sql. tar -cf backupfile.tar.

Udskift brugernavn og databasenavn elementer med din database og brugernavn detaljer.

Automation Trin 1: Scripting

For nu skal vi lave et nyt script, der simpelthen kører de kommandoer, du lærte til sikkerhedskopiering, med et par få ændringer til også at medtage adgangskoden (da dette vil blive automatiseret, kan du ikke indtaste adgangskoden hver gang). Når vi er færdige, skal du have kun en kommando til at køre, der udfører to kommandoer for dig!

Det er også tid til at lære, hvordan du redigerer tekstfiler gennem kommandolinjen også, da du ikke kan stole på FTP og GUI'er hele tiden. Du kan bruge en simpel tekstbaseret redaktør kaldet vi til at gøre dette.

For at starte appen og oprette dit første script skal du skrive:

vi mybackupscript.sh

Hvis filen ikke allerede findes, oprettes den, og du får vist en ret skræmmende skærm, der ligner denne:

wordpress site backup

vi har to tilstande - redigerings- og kommandotilstand. Tryk på i for at komme i redigeringsfunktion. Derefter kan du begynde at skrive. Du ved, at det fungerede, for nederst til venstre drejer det sig til –INSERT–

wordpress site backup

Start med at skrive følgende:

#! / Bin / sh. mysqldump - tilføj-drop-table -ubrugernavn -padgangskodetabelnavn > dbbackup.sql. tar -cf backup.tar.

Bemærk, at denne gang inkluderer vi adgangskoden i kommandoen. Bemærk også, at når vi bruger -p-kontakten til at specificere adgangskoden, sætter vi adgangskoden straks efter den uden mellemrum mellem dem. Hvis du foretrækker det, kan du i stedet skrive denne kommando, men funktionelt er der ingen forskel:

#! / Bin / sh. mysqldump - tilføj-drop-table --bruger =brugernavn --password =adgangskodetabelnavn > dbbackup.sql. tar -cf backup.tar.

Nu skal vi gemme det. Tryk en gang på ESC for at komme ud af redigeringsfunktion og til kommandotilstand for teksteditoren. Type:

:skrive

og tryk derefter på enter

:Afslut

og gå ind igen.

Så nu vil du have regnet ud, at alle kommandoer, du giver, skal foregå af et kolon. Det er alt sammen med vi lige nu.

Tilbage på kommandolinjen, gå videre og gør dit nye script eksekverbart ved at skrive følgende:

chmod 744 mybackupscript.sh

Og til sidst kan du teste det ud med:

./mybackupscript.sh

Afhængig af størrelsen på dit websted og hastigheden på din server kan det naturligvis tage et stykke tid. I slutningen af ​​det kan du liste filerne og skulle finde en backup.tar. På min virtuelle private server tog det cirka 5 sekunder at oprette 100 MB WordPress-webstedets sikkerhedskopi.

Automation Trin to: CRON

CRON er en opgaveplanlægning for Linux. Vi vil ikke dække det indgående her, men jeg giver dig det, du har brug for for at køre dit backup-script hver uge. Vi har også beskrevet, hvordan du kører CRON-job fra dit GUI-baserede webstedets kontrolpanel. For at føje en opgave til CRON-planlæggeren tilføjer du blot en linje til “crontab”. Rediger dette ved at skrive:

crontab -e

Dette åbner CRON-filen i din teksteditor, sandsynligvis vi igen. Hvis du aldrig har tilføjet noget før, er det sandsynligvis også tomt. Ingen problemer. Tilføj disse linjer:

00 4 * * 0 /httpdocs/mybackupscript.sh

Formatet, som denne kommando følger, er lidt vanskeligt, men går sådan:

minut time dag-i-måneden måned dag-til-ugen

A * i mønsteret ignorerer det punkt. Så i eksemplet ovenfor kører vi vores backup script på 00 minutter 4 timer, hver 0 (søndag) i ugen.

Her er nogle andre eksempler, der hjælper dig med at forstå:

01 * * * * ekko "Denne kommando køres et minut efter hver time" 17 8 * * * ekko "Denne kommando køres dagligt kl. 08:17" 17 20 * * * ekko "Denne kommando køres dagligt kl. 20.17" 00 4 * * 0 ekko "Denne kommando køres kl. 4 hver søndag" * 4 * * Sol ekko "Så er dette" 42 4 1 * * ekko "Denne kommando køres 4: 42 am hver 1. i måneden" 01 * 19 07 * ekko "Denne kommando køres hver time den 19. juli"

Når du har indtastet det, skal du gemme filen ved at trykke på ESC og derefter skrive: skriv efterfulgt af: afslutte. En genvejsversion af dette er bare at skrive: wq, som både skriver filen og afslutter. Det er praktisk, men hvis du er noget som mig, glemmer du disse små genveje.

Det er det! Du har nu en ajourført kopi af din database og hele websitet i roden, kaldet backup.tar (eller hvad du end valgte at navngive det). Du ønsker måske at lære lidt mere scripting for at tilføje datoen i slutningen af ​​filnavnet og undgå at overskrive den samme hver gang, men det er op til dig at opdage. Jeg håber, du kan se, hvor magtfuld kommandolinjen faktisk er nu!

James har en BSc i kunstig intelligens og er CompTIA A + og Network + certificeret. Han er hovedudvikler af MakeUseOf og bruger sin fritid på at spille VR paintball og brætspil. Han har bygget pc'er siden han var barn.