diff --git a/back/loaders/initFile.ts b/back/loaders/initFile.ts index 3c38b8e4..6937c202 100644 --- a/back/loaders/initFile.ts +++ b/back/loaders/initFile.ts @@ -13,10 +13,15 @@ const logPath = path.join(dataPath, 'log/'); const uploadPath = path.join(dataPath, 'upload/'); const bakPath = path.join(dataPath, 'bak/'); const samplePath = path.join(rootPath, 'sample/'); +const tmpPath = path.join(logPath, '.tmp/'); const confFile = path.join(configPath, 'config.sh'); const authConfigFile = path.join(configPath, 'auth.json'); const sampleConfigFile = path.join(samplePath, 'config.sample.sh'); const sampleAuthFile = path.join(samplePath, 'auth.sample.json'); +const sampleNotifyJsFile = path.join(samplePath, 'notify.js'); +const sampleNotifyPyFile = path.join(samplePath, 'notify.py'); +const scriptNotifyJsFile = path.join(scriptPath, 'sendNotify.js'); +const scriptNotifyPyFile = path.join(scriptPath, 'notify.py'); const homedir = os.homedir(); const sshPath = path.resolve(homedir, '.ssh'); const sshdPath = path.join(dataPath, 'ssh.d'); @@ -31,19 +36,14 @@ export default async () => { const sshDirExist = await fileExist(sshPath); const bakDirExist = await fileExist(bakPath); const sshdDirExist = await fileExist(sshdPath); + const tmpDirExist = await fileExist(tmpPath); + const scriptNotifyJsFileExist = await fileExist(scriptNotifyJsFile); + const scriptNotifyPyFileExist = await fileExist(scriptNotifyPyFile); if (!configDirExist) { fs.mkdirSync(configPath); } - if (!authFileExist) { - fs.writeFileSync(authConfigFile, fs.readFileSync(sampleAuthFile)); - } - - if (!confFileExist) { - fs.writeFileSync(confFile, fs.readFileSync(sampleConfigFile)); - } - if (!scriptDirExist) { fs.mkdirSync(scriptPath); } @@ -52,6 +52,10 @@ export default async () => { fs.mkdirSync(logPath); } + if (!tmpDirExist) { + fs.mkdirSync(tmpPath); + } + if (!uploadDirExist) { fs.mkdirSync(uploadPath); } @@ -68,6 +72,23 @@ export default async () => { fs.mkdirSync(sshdPath); } + // 初始化文件 + if (!authFileExist) { + fs.writeFileSync(authConfigFile, fs.readFileSync(sampleAuthFile)); + } + + if (!confFileExist) { + fs.writeFileSync(confFile, fs.readFileSync(sampleConfigFile)); + } + + if (!scriptNotifyJsFileExist) { + fs.writeFileSync(scriptNotifyJsFile, fs.readFileSync(sampleNotifyJsFile)); + } + + if (!scriptNotifyPyFileExist) { + fs.writeFileSync(scriptNotifyPyFile, fs.readFileSync(sampleNotifyPyFile)); + } + dotenv.config({ path: confFile }); Logger.info('✌️ Init file down'); diff --git a/shell/api.sh b/shell/api.sh index 2f218c25..8a016633 100755 --- a/shell/api.sh +++ b/shell/api.sh @@ -30,10 +30,10 @@ add_cron_api() { local name=$(echo "$1" | awk -F ":" '{print $3}') local sub_id=$(echo "$1" | awk -F ":" '{print $4}') else - local schedule=$1 - local command=$2 - local name=$3 - local sub_id=$4 + local schedule="$1" + local command="$2" + local name="$3" + local sub_id="$4" fi if [[ ! $sub_id ]];then @@ -69,10 +69,10 @@ update_cron_api() { local name=$(echo "$1" | awk -F ":" '{print $3}') local id=$(echo "$1" | awk -F ":" '{print $4}') else - local schedule=$1 - local command=$2 - local name=$3 - local id=$4 + local schedule="$1" + local command="$2" + local name="$3" + local id="$4" fi local api=$( @@ -103,8 +103,8 @@ update_cron_command_api() { local command=$(echo "$1" | awk -F ":" '{print $1}') local id=$(echo "$1" | awk -F ":" '{print $2}') else - local command=$1 - local id=$2 + local command="$1" + local id="$2" fi local api=$( @@ -130,7 +130,7 @@ update_cron_command_api() { } del_cron_api() { - local ids=$1 + local ids="$1" local currentTimeStamp=$(date +%s) local api=$( curl -s --noproxy "*" "http://0.0.0.0:5600/open/crons?t=$currentTimeStamp" \ @@ -183,8 +183,8 @@ update_cron() { } notify_api() { - local title=$1 - local content=$2 + local title="$1" + local content="$2" local currentTimeStamp=$(date +%s) local api=$( curl -s --noproxy "*" "http://0.0.0.0:5600/open/system/notify?t=$currentTimeStamp" \ @@ -209,7 +209,7 @@ notify_api() { } find_cron_api() { - local params=$1 + local params="$1" local currentTimeStamp=$(date +%s) local api=$( curl -s --noproxy "*" "http://0.0.0.0:5600/open/crons/detail?$params&t=$currentTimeStamp" \ diff --git a/shell/otask.sh b/shell/otask.sh index 312c4077..9ee3dafb 100755 --- a/shell/otask.sh +++ b/shell/otask.sh @@ -38,7 +38,7 @@ gen_array_scripts() { if [[ -f $file ]] && [[ $file == *.js && $file != sendNotify.js ]]; then let i++ array_scripts[i]=$(echo "$file" | perl -pe "s|$dir_scripts/||g") - array_scripts_name[i]=$(grep "new Env" $file | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | head -1) + array_scripts_name[i]=$(grep "new Env" $file | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | sed 's:"::g' | sed "s:'::g" | head -1) [[ -z ${array_scripts_name[i]} ]] && array_scripts_name[i]="<未识别出活动名称>" fi done diff --git a/shell/update.sh b/shell/update.sh index d699a9b8..188f6525 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -31,7 +31,7 @@ output_list_add_drop() { local list=$1 local type=$2 if [[ -s $list ]]; then - echo -e "检测到有$type的定时任务:\n" + echo -e "检测到有${type}的定时任务:\n" cat $list echo fi @@ -54,7 +54,7 @@ del_cron() { fi cron_file="$dir_scripts/${cron}" if [[ -f $cron_file ]]; then - cron_name=$(grep "new Env" $cron_file | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | head -1) + cron_name=$(grep "new Env" $cron_file | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | sed 's:"::g' | sed "s:'::g" | head -1) rm -f $cron_file fi [[ -z $cron_name ]] && cron_name="$cron" @@ -92,7 +92,7 @@ add_cron() { s| | |g; }" | sort -u | head -1 ) - cron_name=$(grep "new Env" $file | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | head -1) + cron_name=$(grep "new Env" $file | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | sed 's:"::g' | sed "s:'::g" | head -1) [[ -z $cron_name ]] && cron_name="$file_name" [[ -z $cron_line ]] && cron_line=$(grep "cron:" $file | awk -F ":" '{print $2}' | head -1 | xargs) [[ -z $cron_line ]] && cron_line=$(grep "cron " $file | awk -F "cron \"" '{print $2}' | awk -F "\" " '{print $1}' | head -1 | xargs) @@ -193,7 +193,7 @@ update_raw() { s| | |g; }" | sort -u | head -1 ) - cron_name=$(grep "new Env" $raw_file_name | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | head -1) + cron_name=$(grep "new Env" $raw_file_name | awk -F "\(" '{print $2}' | awk -F "\)" '{print $1}' | sed 's:.*\('\''\|"\)\([^"'\'']*\)\('\''\|"\).*:\2:' | sed 's:"::g' | sed "s:'::g" | head -1) [[ -z $cron_name ]] && cron_name="$raw_file_name" [[ -z $cron_line ]] && cron_line=$(grep "cron:" $raw_file_name | awk -F ":" '{print $2}' | head -1 | xargs) [[ -z $cron_line ]] && cron_line=$(grep "cron " $raw_file_name | awk -F "cron \"" '{print $2}' | awk -F "\" " '{print $1}' | head -1 | xargs)