在 2 个位置之间复制 mediawiki
duplicate mediawiki between 2 locations
我已经在 Ubuntu Mate 上设置了私人 wiki (1.35.1) 运行ning,它是 VMWare Workstation 16 上的访客 OS。我想 运行 这个 wiki 在 2 个独立的位置(A 和 B)(没有 VPN 连接)。我将是唯一访问的用户,因为它是我的私人维基。
我已经在位置 A 进行了 wiki 设置和 运行 设置,只需将访客存档并在位置 B 将其作为相同的副本显示出来。
问题:我在地点 A 度过一天后(在那里编辑我的 wiki),我可以简单地复制整个 /var/www/html/Mediawiki
文件夹和整个 /var/lib/mysql
文件夹 (MariaDB) 到拇指驱动器并转储到位置 B?
目的是让这些 wiki 相同 - 由我 (sneakernet) 使用拇指驱动器同步。
UPDATE - 目前运行良好。以下是我的做法。
- 停止 mysql 服务器 -
sudo service mysql stop
- 复制(使用 rsync)所有新的或更改的文件从
/var/lib/mysql/
到我的外部共享:
sudo rsync -cavurt --delete --info=del,name,stats2 "/var/lib/mysql/" "/home/rp/shares/VM_share_ubuntu/wiki_sql_files"
- 将所有新的或更改的文件从
/var/www/html/mediawiki-1.35.1
复制到我的外部共享:
sudo rsync -cavurt --delete --info=del,name,stats2 "/var/www/html/mediawiki-1.35.1/" "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files"
- 启动 mysql 服务器 -
sudo service mysql start
现在,将new/changed个文件复制到第二台机器:
- 停止 mysql 服务器 -
sudo service mysql stop
- 复制(使用 rsync)所有新的或更改的 mysql 文件:
sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_sql_files/" "/var/lib/mysql"
- 复制所有新的或更改的 mediawiki 文件:
sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files/" "/var/www/html/mediawiki-1.35.1"
- 启动 mysql 服务器 -
sudo service mysql start
在那些 rsync 命令中,请注意 source 文件夹的末尾需要是 /
,而 target 文件夹是没有结尾 /
。 this thread.
中解释了其重要性
更新 2: 如果您在一台机器上修改 /etc/php/7.4/apache2/php.ini
文件,您需要确保在另一台机器上进行相同的更新。例如如果您 change the file upload size 从默认 2M 或一些其他影响 php.ini
的更改。
只要您动态设置 $wgServer,这通常会起作用。使用绝对 URLs 并从缓存加载的页面会 link 到错误的 URL,但这种情况应该很少见 - 几乎所有内容都使用相对 URLs.
我已经在 Ubuntu Mate 上设置了私人 wiki (1.35.1) 运行ning,它是 VMWare Workstation 16 上的访客 OS。我想 运行 这个 wiki 在 2 个独立的位置(A 和 B)(没有 VPN 连接)。我将是唯一访问的用户,因为它是我的私人维基。
我已经在位置 A 进行了 wiki 设置和 运行 设置,只需将访客存档并在位置 B 将其作为相同的副本显示出来。
问题:我在地点 A 度过一天后(在那里编辑我的 wiki),我可以简单地复制整个 /var/www/html/Mediawiki
文件夹和整个 /var/lib/mysql
文件夹 (MariaDB) 到拇指驱动器并转储到位置 B?
目的是让这些 wiki 相同 - 由我 (sneakernet) 使用拇指驱动器同步。
UPDATE - 目前运行良好。以下是我的做法。
- 停止 mysql 服务器 -
sudo service mysql stop
- 复制(使用 rsync)所有新的或更改的文件从
/var/lib/mysql/
到我的外部共享:sudo rsync -cavurt --delete --info=del,name,stats2 "/var/lib/mysql/" "/home/rp/shares/VM_share_ubuntu/wiki_sql_files"
- 将所有新的或更改的文件从
/var/www/html/mediawiki-1.35.1
复制到我的外部共享:sudo rsync -cavurt --delete --info=del,name,stats2 "/var/www/html/mediawiki-1.35.1/" "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files"
- 启动 mysql 服务器 -
sudo service mysql start
现在,将new/changed个文件复制到第二台机器:
- 停止 mysql 服务器 -
sudo service mysql stop
- 复制(使用 rsync)所有新的或更改的 mysql 文件:
sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_sql_files/" "/var/lib/mysql"
- 复制所有新的或更改的 mediawiki 文件:
sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files/" "/var/www/html/mediawiki-1.35.1"
- 启动 mysql 服务器 -
sudo service mysql start
在那些 rsync 命令中,请注意 source 文件夹的末尾需要是 /
,而 target 文件夹是没有结尾 /
。 this thread.
更新 2: 如果您在一台机器上修改 /etc/php/7.4/apache2/php.ini
文件,您需要确保在另一台机器上进行相同的更新。例如如果您 change the file upload size 从默认 2M 或一些其他影响 php.ini
的更改。
只要您动态设置 $wgServer,这通常会起作用。使用绝对 URLs 并从缓存加载的页面会 link 到错误的 URL,但这种情况应该很少见 - 几乎所有内容都使用相对 URLs.