修缮脚本,增加友善的安装命令检查。

Signed-off-by: 萌森 <qyg2297248353@163.com>
This commit is contained in:
萌森
2024-08-07 17:58:25 +08:00
parent e33258b501
commit 8ba72fd83a
3 changed files with 113 additions and 13 deletions

View File

@@ -27,6 +27,23 @@ if [ -z "$BASE_DIR" ]; then
exit 1
fi
if [ ! -w "$BASE_DIR" ]; then
echo "Error: No write permission to the 1panel install directory."
echo "Please run as a superuser."
exit 1
fi
TARGET_DIR="${BASE_DIR}/1panel/resource/apps/local/appstore-localApps"
if [ ! -d "$TARGET_DIR" ]; then
mkdir -p "$TARGET_DIR"
fi
if [ ! -w "$TARGET_DIR" ]; then
echo "Error: No write permission to the target directory."
echo "Please run as a superuser."
exit 1
fi
echo "$(date): Step 1 - Cloning repository..."
repos=(
'https://github.com/QYG2297248353/appstore-1panel'
@@ -50,6 +67,19 @@ ENVS_DIR="$BASE_DIR/1panel/resource/apps/local/appstore-localApps/envs"
DEST_ENVS_DIR="/etc/1panel/envs"
echo "$(date): Step 2 - Checking for updated apps..."
if [ ! -w "$LOCAL_DIR" ]; then
echo "Error: No write permission to $LOCAL_DIR."
echo "Please run as a superuser."
exit 1
fi
if [ ! -w "$DEST_ENVS_DIR" ]; then
echo "Error: No write permission to $DEST_ENVS_DIR."
echo "Please run as a superuser."
exit 1
fi
for app_directory in "${APPS_DIR:?}"/*; do
app_name=$(basename "$app_directory")

View File

@@ -1,6 +1,45 @@
#!/bin/bash
mkdir -p /home/task
echo "$(date): [Init] Check..."
if ! command -v crontab &> /dev/null; then
echo "crontab could not be found, please install it first."
exit 1
fi
if command -v wget &> /dev/null; then
downloader="wget -O"
elif command -v curl &> /dev/null; then
downloader="curl -o"
else
echo "Neither wget nor curl is installed. Please install one of them first."
exit 1
fi
if [[ -w /home/task ]]; then
task_dir="/home/task"
elif [[ ! -d /home/task ]]; then
mkdir -p /home/task
if [[ $? -ne 0 || ! -w /home/task ]]; then
echo "No permission to write to /home/task."
else
task_dir="/home/task"
fi
elif [[ -w /etc/task ]]; then
task_dir="/etc/task"
elif [[ ! -d /etc/task ]]; then
mkdir -p /etc/task
if [[ $? -ne 0 || ! -w /etc/task ]]; then
echo "No permission to write to /etc/task."
else
task_dir="/etc/task"
fi
else
echo "No permission to write to /home/task or /etc/task. Please run as a superuser."
exit 1
fi
echo "$(date): [Init] Download the installation script..."
urls=(
'https://install.lifebus.top/app_install.sh'
@@ -10,19 +49,33 @@ urls=(
'https://github.com/QYG2297248353/appstore-1panel/releases/download/install/app_install.sh'
)
download_successful=false
for url in "${urls[@]}"; do
wget -O /home/task/app_install.sh "$url" && break
$downloader "$task_dir/app_install.sh" "$url"
if [[ $? -eq 0 ]]; then
download_successful=true
break
fi
done
if [[ -f /home/task/app_install.sh ]]; then
chmod +x /home/task/app_install.sh
echo "$(date): [Next] Deploy installation scripts..."
crontab -l | grep -v '/home/task/app_install.sh' | crontab -
crontab -l | grep -v '/home/task/app_install_zh.sh' | crontab -
if [[ "$download_successful" = true && -f "$task_dir/app_install.sh" ]]; then
if [[ -w "$task_dir/app_install.sh" ]]; then
chmod +x "$task_dir/app_install.sh"
(crontab -l ; echo "0 */3 * * * /bin/bash /home/task/app_install.sh") | crontab -
crontab -l | grep -v "$task_dir/app_install.sh" | crontab -
crontab -l | grep -v "$task_dir/app_install_zh.sh" | crontab -
/bin/bash /home/task/app_install.sh
(crontab -l ; echo "0 */3 * * * /bin/bash $task_dir/app_install.sh") | crontab -
/bin/bash "$task_dir/app_install.sh"
else
echo "No permission to change the script's permissions."
fi
else
echo "网络异常,请检查您的网络状态。"
echo "Script download failed. Please check your network connection."
fi
echo "$(date): [Run] Update application list"