1
0
Fork 0
mirror of https://github.com/yavook/kiwi-cron.git synced 2024-11-21 23:13:00 +00:00

modularity

This commit is contained in:
Jörn-Michael Miehe 2022-03-01 18:40:05 +01:00
parent 718ddec618
commit 0cd472a08f
3 changed files with 61 additions and 25 deletions

View file

@ -1,9 +1,5 @@
#!/bin/sh #!/bin/sh
# replace crontab exec /usr/local/libexec/kiwi-cron/run_cron \
/usr/local/libexec/kiwi-cron/schedule_dirs \ "${@}" \
| /usr/local/libexec/kiwi-cron/print_crontab \ /usr/local/libexec/kiwi-cron/schedule_dirs
| crontab -
# run crond
exec crond -fd 8

View file

@ -32,22 +32,22 @@ cs_rand_weekday=$(( (6 + RANDOM % 2) % 7 ))
cs_rand_month=$(( RANDOM % 2 + 1 )) cs_rand_month=$(( RANDOM % 2 + 1 ))
case "${cs_units}" in case "${cs_units}" in
minute) minute)
echo "*${cs_every}" "*" "*" "*" "*" "${cs_command}" echo "*${cs_every}" "*" "*" "*" "*" "${cs_command}"
;; ;;
hour) hour)
echo "${cs_rand_min}" "*${cs_every}" "*" "*" "*" "${cs_command}" echo "${cs_rand_min}" "*${cs_every}" "*" "*" "*" "${cs_command}"
;; ;;
day) day)
echo "${cs_rand_min}" "${cs_rand_hour}" "*${cs_every}" "*" "*" "${cs_command}" echo "${cs_rand_min}" "${cs_rand_hour}" "*${cs_every}" "*" "*" "${cs_command}"
;; ;;
week) week)
echo "${cs_rand_min}" "${cs_rand_hour}" "*" "*" "${cs_rand_weekday}" "${cs_command}" echo "${cs_rand_min}" "${cs_rand_hour}" "*" "*" "${cs_rand_weekday}" "${cs_command}"
;; ;;
month) month)
echo "${cs_rand_min}" "${cs_rand_hour}" "${cs_rand_day}" "*${cs_every}" "*" "${cs_command}" echo "${cs_rand_min}" "${cs_rand_hour}" "${cs_rand_day}" "*${cs_every}" "*" "${cs_command}"
;; ;;
year) year)
echo "${cs_rand_min}" "${cs_rand_hour}" "${cs_rand_day}" "${cs_rand_month}" "*" "${cs_command}" echo "${cs_rand_min}" "${cs_rand_hour}" "${cs_rand_day}" "${cs_rand_month}" "*" "${cs_command}"
;; ;;
esac esac

View file

@ -0,0 +1,40 @@
#!/bin/sh
# check for CLI options
while getopts ':n' rc_optarg; do
case "${rc_optarg}" in
n)
rc_dry_run="yes"
;;
*)
echo "Invalid option: -${OPTARG}."
exit 2
esac
done
shift "$(( OPTIND - 1 ))"
# CLI arguments
rc_executable="${1}"
if [ -n "${rc_dry_run}" ]; then
# verbose, dry run
set -x
"${rc_executable}" \
| /usr/local/libexec/kiwi-cron/print_crontab
exit 0
fi
# replace crontab
"${rc_executable}" \
| /usr/local/libexec/kiwi-cron/print_crontab \
| crontab -
# hand over to crond
exec crond -fd 8
exit 0