myvesta/bin/v-suspend-cron-job
2014-02-19 23:12:23 +02:00

61 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# info: suspend cron job
# options: USER JOB [RESTART]
#
# The function suspends a certain job of the cron scheduler.
#----------------------------------------------------------#
# Variable&Function #
#----------------------------------------------------------#
# Argument defenition
user=$1
job=$2
restart=$3
# Inlcudes
source $VESTA/func/main.sh
source $VESTA/conf/vesta.conf
#----------------------------------------------------------#
# Verifications #
#----------------------------------------------------------#
check_args '2' "$#" 'USER JOB [RESTART]'
validate_format 'user' 'job'
is_object_valid 'user' 'USER' "$user"
is_object_valid 'cron' 'JOB' "$job"
is_object_unsuspended 'cron' 'JOB' "$job"
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
# Suspending job
update_object_value 'cron' 'JOB' "$job" '$SUSPENDED' 'yes'
increase_user_value "$user" '$SUSPENDED_CRON'
# Sync system cron with user
sync_cron_jobs
#----------------------------------------------------------#
# Vesta #
#----------------------------------------------------------#
# Restart crond
if [ "$restart" != 'no' ]; then
$BIN/v-restart-cron
if [ $? -ne 0 ]; then
exit $E_RESTART
fi
fi
# Logging
log_event "$OK" "$EVENT"
exit