feat: 新增数据库备份与面板数据恢复功能新增 backup_database 函数用于在特定条件下备份数据库,新增 restore_panel_data 函数用于在特定条件下恢复面板数据。

This commit is contained in:
yolokk 2025-03-11 17:57:31 +08:00 committed by cnb
parent 81fe138c7d
commit 00ab3458c9

20
bt.sh
View File

@ -8,6 +8,24 @@ Setup_Path=$Root_Path/server/mysql
Data_Path=$Root_Path/server/data
O_pl=$(cat /www/server/panel/data/o.pl)
backup_database() {
if [ -d "${Data_Path}" ] && [ ! -z "$(ls -A ${Data_Path})" ]; then
if [ ! -d "${Setup_Path}" ] || [ -z "$(ls -A ${Setup_Path})" ]; then
timestamp=$(date +"%s")
tar czf /www/server/data_backup_$timestamp.tar.gz -C ${Data_Path} .
fi
fi
}
restore_panel_data() {
if [ -f /www.tar.gz ]; then
if [ ! -d /www ] || [ -z "$(ls -A /www)" ] || [ ! -d /www/server/panel ] || [ -z "$(ls -A /www/server/panel)" ] || [ ! -d /www/server/panel/pyenv ] || [ -z "$(ls -A /www/server/panel/pyenv)" ]; then
tar xzf /www.tar.gz -C / --skip-old-files
rm -rf /www.tar.gz
fi
fi
}
soft_start(){
# 扫描并启动所有服务
init_scripts=$(ls ${init_path})
@ -68,6 +86,8 @@ start_mysql(){
fi
}
restore_panel_data > /dev/null
backup_database > /dev/null
is_empty_Data > /dev/null
init_mysql > /dev/null
start_mysql > /dev/null