#!/bin/bash ######################################### #Function: fix dedecms system #Usage: bash fix_decms_file.sh #Version: 1.0 2024.05.09 #Blog: http://www.19aq.com/ #Team: Roots Exploits Team ######################################### DIR=/www/wwwroot/ DATA=$(ls -l "$DIR" | awk '{print$9}') SOURCE_ADMIN="" SOURCE_INC="" SOURCE_FILE="" # 筛选所需处理站点 declare -a ALL_SITE for i in $DATA do CUR_DIR=$DIR$i DIR_A="$CUR_DIR/admindede888" DIR_B="$CUR_DIR/include" FILE_A="$CUR_DIR/link_list.php" if [ -d "$DIR_A" ] && [ -d "$DIR_B" ] && [ -f "$FILE_A" ]; then ALL_SITE+=("$CUR_DIR") fi done for CUR_DIR in "${ALL_SITE[@]}" do #开始同步目录 DIR_ADMIN="$CUR_DIR/admindede888" if [ -d "$DIR_ADMIN" -a -z "$SOURCE_ADMIN" ]; then SOURCE_ADMIN=$DIR_ADMIN echo "源路径为:$SOURCE_ADMIN" read -s -n1 -p "按任意键继续 ... " echo -e "\n" fi if [ -n "$SOURCE_ADMIN" ] && [ "$SOURCE_ADMIN" != "$CUR_DIR/admindede888" ]; then yes | cp -r $SOURCE_ADMIN $CUR_DIR/ echo "$DIR_ADMIN reset success" fi #开始同步目录 DIR_INC="$CUR_DIR/include" if [ -d "$DIR_INC" -a -z "$SOURCE_INC" ]; then SOURCE_INC=$DIR_INC fi if [ -n "$SOURCE_INC" ] && [ "$SOURCE_INC" != "$CUR_DIR/include" ]; then yes | cp -r $SOURCE_INC $CUR_DIR/ echo "$DIR_INC reset success" fi #开始同步文件 FILE_LIST="$CUR_DIR/link_list.php" if [ -f "$FILE_LIST" -a -z "$SOURCE_FILE" ]; then SOURCE_FILE=$FILE_LIST fi if [ -n "$SOURCE_FILE" ] && [ "$SOURCE_FILE" != "$CUR_DIR/link_list.php" ]; then yes | cp -r $SOURCE_FILE $CUR_DIR/ echo "$FILE_LIST reset success" fi done