Siirry sisältöön
Hallintapaneelissamme on tällä hetkellä tilapäinen häiriötilanne, eivätkä kaikki toiminnot ole välttämättä käytettävissä. Korjaamme ongelmaa parhaillaan ja pahoittelemme siitä aiheutuvaa haittaa!

WordPress varmuuskopio ja palautus webhotellissa

Varmuuskopion ottaminen

  1. Avaa komentorivi: Kirjaudu palvelimelle, jossa WordPress-sivustosi sijaitsee.
  2. Luo backup.sh niminen tiedosto ja kopioi siihen ohjeen lopusta löytyvä scripti.
  3. Aja luomasi scripti webhotellin juuressa komennolla: sh backup.sh public_html
    Scripti luo kotihakemistoon hakemiston ”backups” (jos sitä ei jo ole) ja laittaa sinne .zip-tiedoston, joka sisältää tiedostot, sekä tietokannan hakemistosta, joka on määritetty ajetussa komennossa. Tässä esimerkissä ”public_html”. Varmuuskopio tallennetaan nimellä ”hakemisto_30.11.2023_130250.zip” eli esim. ”public_html_30.11.2023_130250.zip”

Varmuuskopion palautus

  1. Siirry ”backups”-hakemistoon komennolla cd ~/backups
  2. Pura varmuuskopiopaketti komennolla unzip public_html_30.11.2023_130250.zip (korvaa tiedoston nimi omalla varmuuskopiopaketin nimellä)
  3. Varmuuskopiopaketin purkamisen jälkeen backups-hakemistossa on public_html -kansio ja tietokanta erikseen esim. 30.11.2023_130249.sql nimisenä.
  4. Siirrä ”public_html”-hakemisto haluamaasi paikkaan (yleensä kotihakemistoon) tällä komennolla: mv ~/backups/public_html ~/public_html
  5. Tämän jälkeen tuo tietokanta varmuuskopiosta ajamalla seuraavat komennot tässä järjestyksessä:
    Tyhjennä tietokanta: wp db reset Tämä pyytää vielä vahvistuksen Are you sure you want to reset the 'u12345C2' database? [y/n] y ja antaa onnistuessa ilmoituksen Success: Database reset.
    Tuo tietokanta varmuuskopiosta: wp db import ~/backups/30.11.2023_130249.sql Tämä antaa myös onnistuessa ilmoituksen Success: Imported from '/home/u12345/backups/30.11.2023_130249.sql'.
  6. Tämän jälkeen kannattaa tarkistaa sivuston toimivuus.

backup.sh scripti

#!/bin/bash
# Check if a folder name is provided
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <wordpress_folder>"
exit 1
fi

# Define the WordPress folder and backup folder
wordpress_folder=$1
backup_folder="$HOME/backups"

# Create backup folder if it does not exist
if [ ! -d "$backup_folder" ]; then
echo "Creating backup folder at $backup_folder"
mkdir -p "$backup_folder"
fi

# Export the WordPress database
echo "Exporting WordPress database..."
dbfilepath="$(date +%d.%m.%Y_%H%M%S).sql"
wp db export "$dbfilepath" --path="$wordpress_folder"

# Check if the database export was successful
if [ ! -f "$dbfilepath" ]; then
echo "Database export failed. Exiting."
exit 1
fi

# Create a zip archive of the WordPress folder and the database dump
backup_file="$backup_folder/$(basename "$wordpress_folder")_$(date +%d.%m.%Y_%H%M%S).zip"

echo "Backing up $wordpress_folder and database to $backup_file"
zip -r "$backup_file" "$wordpress_folder" "$dbfilepath"

rm -f "$dbfilepath"
echo "Removed temporary database export $dbfilepath"
echo "Backup completed successfully, .zip -file saved as $backup_file"

Oliko tämä artikkeli hyödyllinen?