Docker WordPress 备份还原

备份 WordPress 内容

docker exec mysql \
    mysqldump \
    -uroot -pYOURPASSWORD \
    wordpress > /var/mysql/wordpress.sql
tar -czf wordpress.tar.gz /var/mysql/wordpress.sql /var/wordpress/

在当前位置会得到wordpress.tar.gz文件,将其保存到合适的地方即完成备份。

还原 WordPress

上传备份文件

有几种方式可以上传:

一、通过以下命令上传:

scp -oProxyCommand="nc -X5 -x127.0.0.1:1080 %h %p" \
    jebbs.tar.gz \
    root@jebbs.co:/var/wordpress

scp 命令基于 ssh,在国内是一种比较敏感的协议,为保安全,使用-oProxyCommand 参数通过本地 socket5 代理连接。

二、或者通过 z-modem 传:

在服务器端安装 lrzsz

# ubuntu
apt install lrzsz
# centos
yum install lrzsz

然后直接将文件拖放到 xshell 中即可。

三、如果服务器配置了 FTP,也可以通过 FTP 上传文件。

上传后,进入 wordpress.tar.gz 所在目录,解压。(假设文件在~目录)

cd ~
tar -xzf wordpress.tar.gz

导入数据库

mv var/mysql/wordpress.sql /var/mysql/
docker exec mysql \
    bash -c 'mysql -uroot -pYOURPASSWORD wordpress < /data/wordpress.sql'

恢复网站数据

mv /var/wordpress/wp-content/ /var/wordpress/wp-content-backup/
mv var/wordpress /var/
docker exec wordpress chown -R www-data:www-data /var/www/html

清理

测试网站内容正确无误后,可以清理掉不必要的文件

rm -rf /var/wordpress/wp-content-backup/
rm -rf var/ wordpress.tar.gz

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注