Full progress of changing ArchLinux to Debian: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 19: | Line 19: | ||
* 备份 MediaWiki LocalSettings.php | * 备份 MediaWiki LocalSettings.php | ||
* 备份 MediaWiki images 文件夹 | * 备份 MediaWiki images 文件夹 | ||
或直接使用 ChatGPT 写的这个脚本: | |||
<syntaxhighlight lang="bash" line> | |||
#!/bin/bash | |||
# 一键备份 MediaWiki (ArchLinux MariaDB + Apache 安装方式) | |||
# 运行时请确保 MariaDB 正在运行 | |||
# ===== 配置区 ===== | |||
BACKUP_DIR="$HOME/mediawiki_backup" | |||
DATE=$(date +"%Y%m%d_%H%M%S") | |||
BACKUP_FILE="mediawiki_full_${DATE}.tar.gz" | |||
# 从 LocalSettings.php 获取数据库名、用户和密码 | |||
CONFIG_FILE="/usr/share/webapps/mediawiki/LocalSettings.php" | |||
DB_NAME=$(grep '^\$wgDBname' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/') | |||
DB_USER=$(grep '^\$wgDBuser' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/') | |||
DB_PASS=$(grep '^\$wgDBpassword' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/') | |||
# ===== 开始备份 ===== | |||
mkdir -p "$BACKUP_DIR" | |||
echo ">>> 导出数据库: $DB_NAME" | |||
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql" | |||
if [ $? -ne 0 ]; then | |||
echo "!!! 数据库导出失败,请检查用户名/密码" | |||
exit 1 | |||
fi | |||
echo ">>> 复制 MediaWiki 代码和配置" | |||
cp -a /usr/share/webapps/mediawiki "$BACKUP_DIR/mediawiki_code" | |||
cp -a /var/lib/mediawiki "$BACKUP_DIR/mediawiki_images" | |||
echo ">>> 打包所有文件" | |||
tar -czvf "$BACKUP_FILE" -C "$BACKUP_DIR" . | |||
echo ">>> 备份完成:$BACKUP_FILE" | |||
echo "你可以将这个文件复制到新服务器进行恢复" | |||
</syntaxhighlight> | |||
去新系统里,按以下方式解压: | |||
<syntaxhighlight lang="bash" line> | |||
tar -xzvf mediawiki_full_20250812_213045.tar.gz | |||
</syntaxhighlight> | |||
* 转移 ArchLinux 内的文件至别的硬盘 | * 转移 ArchLinux 内的文件至别的硬盘 |
Revision as of 22:18, 15 August 2025
ArchLinux 挺好的,不过我的电脑有点旧了,加上我需要 mediawiki,pacman -Syu 时常常因 mediawiki 而中断,导致启动项丢失,恰逢 Debian 13 发布,于是换回用了多年的 Debian。以下为切换过程的全记录。
- 从 USTC 下载 Debian 13 iso:https://mirrors.ustc.edu.cn/help/debian-cd.html
- 校验下载文件的 sha512
- 用 Ventoy 制作安装盘
- 备份浏览器书签及密码
- 备份 MediaWiki 数据库
grep wgDBname /usr/share/webapps/mediawiki/LocalSettings.php # 查清数据库名
grep wgDBuser /usr/share/webapps/mediawiki/LocalSettings.php # 查清数据库用户名
grep wgDBpassword /usr/share/webapps/mediawiki/LocalSettings.php # 查清数据库用户密码
mariadb-dump -u DBuser -p DBname > mysqlbackup20250815.sql # 导出数据库文件
先在新系统的 MariaDB 中创建同名数据库和用户
mysql -u DBuser -p DBname < mysqlbackup20250815.sql # 在新系统中导入数据库文件
- 备份 MediaWiki LocalSettings.php
- 备份 MediaWiki images 文件夹
或直接使用 ChatGPT 写的这个脚本:
#!/bin/bash
# 一键备份 MediaWiki (ArchLinux MariaDB + Apache 安装方式)
# 运行时请确保 MariaDB 正在运行
# ===== 配置区 =====
BACKUP_DIR="$HOME/mediawiki_backup"
DATE=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="mediawiki_full_${DATE}.tar.gz"
# 从 LocalSettings.php 获取数据库名、用户和密码
CONFIG_FILE="/usr/share/webapps/mediawiki/LocalSettings.php"
DB_NAME=$(grep '^\$wgDBname' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/')
DB_USER=$(grep '^\$wgDBuser' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/')
DB_PASS=$(grep '^\$wgDBpassword' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/')
# ===== 开始备份 =====
mkdir -p "$BACKUP_DIR"
echo ">>> 导出数据库: $DB_NAME"
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"
if [ $? -ne 0 ]; then
echo "!!! 数据库导出失败,请检查用户名/密码"
exit 1
fi
echo ">>> 复制 MediaWiki 代码和配置"
cp -a /usr/share/webapps/mediawiki "$BACKUP_DIR/mediawiki_code"
cp -a /var/lib/mediawiki "$BACKUP_DIR/mediawiki_images"
echo ">>> 打包所有文件"
tar -czvf "$BACKUP_FILE" -C "$BACKUP_DIR" .
echo ">>> 备份完成:$BACKUP_FILE"
echo "你可以将这个文件复制到新服务器进行恢复"
去新系统里,按以下方式解压:
tar -xzvf mediawiki_full_20250812_213045.tar.gz
- 转移 ArchLinux 内的文件至别的硬盘