Annonse
Sist vi snakket om WordPress-sikkerhetskopier, viste jeg deg hvor utrolig enkelt det var å ta sikkerhetskopi av hele database og filer om SSH Slik sikkerhetskopierer du nettstedet ditt gjennom SSH-kommandolinjenSikkerhetskopiering av nettstedet eller bloggen din kan være en kostbar og vanskelig jobb, som krever en rekke plugins eller tilleggsplaner fra hostingleverandøren - men det trenger ikke være det. Hvis du har SSH ... Les mer med bare noen få kommandoer. Denne gangen skal jeg vise hvordan du automatiserer disse kommandoene, og gir deg ferske sikkerhetskopier av hele nettstedet hver uke, med veldig liten innsats. Dette vil også tjene som en flott introduksjon til både shell scripting og CRON hvis du aldri har berørt dem før - nøkkelen til å lære så store temaer er å starte rett ved å bruke dem til å gjøre noe nyttig for du.
Oppsummering: Sikkerhetskopier alt
Vi dekket dette forrige gang, men en rask oversikt over de to kommandoene som trengs for å ta sikkerhetskopi av databasen og og filer, forutsatt at du allerede har logget deg inn og flyttet deg til nettstedskatalogen (les den første opplæringen hvis du ikke gjør det forstå). Forsikre deg om at du gjør dem i denne rekkefølgen, slik at din sikkerhetskopi inneholder databasefilen du sender ut i den første kommandoen:
mysqldump - legg til-drop-table -u brukernavn -p databasenavn> databasebackup.sql. tar -cf backupfile.tar.
Bytt ut brukernavn og databasenavn elementer med databasen og brukernavndetaljer.
Automasjon Trinn én: Skripting
Foreløpig skal vi lage et nytt skript som bare kjører kommandoene du lærte for sikkerhetskopi, med noen få endringer for å inkludere passordet også (siden dette vil bli automatisert, vil du ikke kunne skrive inn passordet hver gang). Når vi er ferdige, bør du sitte igjen med bare en kommando for å kjøre som utfører to kommandoer for deg!
Det er også på tide at du lærte hvordan du redigerer tekstfiler gjennom kommandolinjen også, fordi du ikke kan stole på FTP og GUI hele tiden. Du kan bruke en enkel tekstbasert redaktør kalt vi for å gjøre dette.
For å starte appen og opprette det første skriptet ditt, skriver du inn:
vi mybackupscript.sh
Hvis filen ikke allerede eksisterer, vil den bli opprettet, og du vil bli vist en ganske skremmende skjerm som ligner på dette:
vi har to moduser - redigerings- og kommandomodus. For å komme i redigeringsmodus, trykk på i. Så kan du begynne å skrive. Du vet at det fungerte, for til venstre nede til –INSERT–
Begynn med å skrive ut følgende:
#! / Bin / sh. mysqldump - legg til-drop-table -ubrukernavn -ppassordtabellnavn > dbbackup.sql. tar -cf backup.tar.
Legg merke til at vi denne gangen inkluderer passordet i kommandoen. Legg også merke til at når vi bruker -p-bryteren for å spesifisere passordet, legger vi passordet umiddelbart etter det uten mellomrom mellom dem. Hvis du foretrekker det, kan du skrive kommandoen slik i stedet, men funksjonelt sett er det ingen forskjell:
#! / Bin / sh. mysqldump - legg til-drop-table - bruker =brukernavn --password =passordtabellnavn > dbbackup.sql. tar -cf backup.tar.
Nå må vi lagre det. Trykk ESC en gang for å komme ut av redigeringsmodus og til kommandomodus for tekstredigereren. Type:
:skrive
og trykk enter, deretter
:slutte
og gå inn igjen.
Så nå vil du ha funnet ut at alle kommandoer du gir må være før en tykktarm. Det er alt med vi for nå.
Tilbake på kommandolinjen, gå videre og gjør det nye skriptet kjørbart ved å skrive inn følgende:
chmod 744 mybackupscript.sh
Og til slutt, test det ut med:
./mybackupscript.sh
Avhengig av størrelsen på nettstedet og hastigheten på serveren din, kan det selvfølgelig ta litt tid. På slutten av det kan du liste filene og bør finne en backup.tar. På min virtuelle private server tok det omtrent 5 sekunder å lage 100 MB WordPress-nettstedets sikkerhetskopi.
Automasjon Trinn to: CRON
CRON er en oppgaveplanlegger for Linux. Vi vil ikke dekke det grundig her, men jeg vil gi deg det du trenger for å kjøre sikkerhetskopien hver uke. Vi har også dekket hvordan du kjører CRON-jobber fra det GUI-baserte nettstedets kontrollpanel. For å legge til en oppgave i CRON-planleggeren, legger du ganske enkelt en linje til “crontab”. Rediger dette ved å skrive:
crontab -e
Dette vil åpne CRON-filen i teksteditoren din, sannsynligvis vi igjen. Hvis du aldri har lagt til noe før, vil det sannsynligvis også være tomt. Ingen bekymringer. Legg til disse linjene:
00 4 * * 0 /httpdocs/mybackupscript.sh
Formatet denne kommandoen følger er litt vanskelig, men går slik:
minutt time dag-i-måneden måned ukedag
A * i mønsteret ignorerer det elementet. Så i eksemplet over skal vi kjøre backupskriptet vårt på 00 minutter 4 timer, hver 0 (søndag) i uken.
Her er noen andre eksempler som hjelper deg å forstå:
01 * * * * ekko "Denne kommandoen kjøres ett minutt etter hver time" 17 8 * * * ekko "Denne kommandoen kjøres daglig klokka 08:17." 17 20 * * * ekko "Denne kommandoen kjøres daglig klokka 20:17." 00 4 * * 0 ekko "Denne kommandoen kjøres klokka 4 hver søndag" * 4 * * Solekko "Så er dette" 42 4 1 * * ekko "Denne kommandoen kjøres 4: 42 am hver 1. i måneden" 01 * 19 07 * ekko "Denne kommandoen kjøres hver time 19. juli"
Når du har skrevet inn det, lagrer du filen ved å trykke på ESC og deretter skrive: skriv etterfulgt av: avslutt. En snarveiversjon av dette er å bare skrive: wq, som både vil skrive filen og avslutte. Det er praktisk, men hvis du er noe som meg, glemmer du disse små snarveiene.
Det er det! Du vil nå ha en oppdatert kopi av databasen og hele nettstedet i roten, kalt backup.tar (eller hva du valgte å kalle den). Det kan være lurt å lære litt mer skripting for å legge til datoen på slutten av filnavnet og unngå å overskrive den samme hver gang, men det er opp til deg å oppdage. Jeg håper du kan se hvor kraftig kommandolinjen faktisk er nå!
James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.