diff --git a/shell/task.sh b/shell/task.sh index 3041d6fd..a3db82c2 100755 --- a/shell/task.sh +++ b/shell/task.sh @@ -93,11 +93,19 @@ run_normal() { local begin_time=$(date '+%Y-%m-%d %H:%M:%S') echo -e "## 开始执行... $begin_time\n" | tee -a $log_path [[ $id ]] && update_cron "\"$id\"" "0" "$$" "$log_path" - . $file_task_before + if [[ ! $(. $file_task_before) ]]; then + . $file_task_before + else + echo -e "## task_before执行失败,自行检查\n" | tee -a $log_path + fi timeout $command_timeout_time $which_program $p1 2>&1 | tee -a $log_path - . $file_task_after + if [[ ! $(. $file_task_after) ]]; then + . $file_task_after + else + echo -e "## task_after执行失败,自行检查\n" | tee -a $log_path + fi [[ $id ]] && update_cron "\"$id\"" "1" "" "$log_path" local end_time=$(date '+%Y-%m-%d %H:%M:%S') local diff_time=$(($(date +%s -d "$end_time") - $(date +%s -d "$begin_time"))) @@ -127,8 +135,11 @@ run_concurrent() { local begin_time=$(date '+%Y-%m-%d %H:%M:%S') echo -e "## 开始执行... $begin_time\n" | tee -a $log_path [[ $id ]] && update_cron "\"$id\"" "0" "$$" "$log_path" - . $file_task_before - + if [[ ! $(. $file_task_before) ]]; then + . $file_task_before + else + echo -e "## task_before执行失败,自行检查\n" | tee -a $log_path + fi echo -e "\n各账号间已经在后台开始并发执行,前台不输入日志,日志直接写入文件中。\n" | tee -a $log_path single_log_time=$(date "+%Y-%m-%d-%H-%M-%S.%N") @@ -138,7 +149,11 @@ run_concurrent() { timeout $command_timeout_time $which_program $p1 &>$single_log_path & done - . $file_task_after + if [[ ! $(. $file_task_after) ]]; then + . $file_task_after + else + echo -e "## task_after执行失败,自行检查\n" | tee -a $log_path + fi [[ $id ]] && update_cron "\"$id\"" "1" "" "$log_path" local end_time=$(date '+%Y-%m-%d %H:%M:%S') local diff_time=$(($(date +%s -d "$end_time") - $(date +%s -d "$begin_time"))) @@ -157,11 +172,19 @@ run_else() { local begin_time=$(date '+%Y-%m-%d %H:%M:%S') echo -e "## 开始执行... $begin_time\n" | tee -a $log_path [[ $id ]] && update_cron "\"$id\"" "0" "$$" "$log_path" - . $file_task_before + if [[ ! $(. $file_task_before) ]]; then + . $file_task_before + else + echo -e "## task_before执行失败,自行检查\n" | tee -a $log_path + fi timeout $command_timeout_time "$@" 2>&1 | tee -a $log_path - . $file_task_after + if [[ ! $(. $file_task_after) ]]; then + . $file_task_after + else + echo -e "## task_after执行失败,自行检查\n" | tee -a $log_path + fi [[ $id ]] && update_cron "\"$id\"" "1" "" "$log_path" local end_time=$(date '+%Y-%m-%d %H:%M:%S') local diff_time=$(($(date +%s -d "$end_time") - $(date +%s -d "$begin_time")))