From b99571171606e4090427a845feed506631110a16 Mon Sep 17 00:00:00 2001 From: Eric Nemchik Date: Fri, 18 Aug 2023 23:07:16 -0500 Subject: [PATCH] cron in base Signed-off-by: Eric Nemchik --- .../init-mod-universal-cron-add-package/run | 11 ---- .../init-mod-universal-cron-add-package/type | 1 - .../init-mod-universal-cron-add-package/up | 1 - .../dependencies.d/init-mods | 0 .../dependencies.d/init-mods-package-install | 0 .../init-mod-universal-crontab-config/run | 56 ++++++++----------- .../init-mod-universal-cron-add-package | 0 .../svc-cron/dependencies.d/init-services | 0 root/etc/s6-overlay/s6-rc.d/svc-cron/run | 10 ---- root/etc/s6-overlay/s6-rc.d/svc-cron/type | 1 - .../init-mod-universal-cron-add-package | 0 .../s6-rc.d/user/contents.d/svc-cron | 0 12 files changed, 24 insertions(+), 56 deletions(-) delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up rename root/etc/s6-overlay/s6-rc.d/{init-mod-universal-cron-add-package => init-mod-universal-crontab-config}/dependencies.d/init-mods (100%) delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/dependencies.d/init-mods-package-install delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-cron-add-package delete mode 100644 root/etc/s6-overlay/s6-rc.d/svc-cron/dependencies.d/init-services delete mode 100755 root/etc/s6-overlay/s6-rc.d/svc-cron/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/svc-cron/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-add-package delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-cron diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run deleted file mode 100755 index ff35c59..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -if ! builtin command -v busybox >/dev/null; then - echo "**** Adding busybox to package install list ****" - echo "busybox" >>/mod-repo-packages-to-install.list -fi -if [[ -f /usr/bin/apt ]] && [[ ! -f /usr/sbin/cron ]]; then - echo "**** Adding cron to package install list ****" - echo "cron" >>/mod-repo-packages-to-install.list -fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type deleted file mode 100644 index 3d92b15..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type +++ /dev/null @@ -1 +0,0 @@ -oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up deleted file mode 100644 index f29dc41..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/dependencies.d/init-mods similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/dependencies.d/init-mods rename to root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/dependencies.d/init-mods diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/dependencies.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/dependencies.d/init-mods-package-install deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run index 884068f..9c26f40 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run @@ -1,38 +1,30 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -# make folders -mkdir -p \ - /config/crontabs +for cron_user in abc root; do + # make folders + mkdir -p \ + /config/crontabs -## root -# if crontabs do not exist in config -if [[ ! -f /config/crontabs/root ]]; then - # copy crontab from system - if crontab -l -u root; then - crontab -l -u root >/config/crontabs/root + # if crontabs do not exist in config + if [[ ! -f "/config/crontabs/${cron_user}" ]]; then + # copy crontab from system + if crontab -l -u "${cron_user}" >/dev/null; then + crontab -l -u "${cron_user}" >"/config/crontabs/${cron_user}" + fi + + if [[ -f "/defaults/crontabs/${cron_user}" ]]; then + # if crontabs still do not exist in config (were not copied from system) + # copy crontab from image defaults (using -n, do not overwrite an existing file) + cp -n "/defaults/crontabs/${cron_user}" /config/crontabs/ + fi + + # if crontabs still do not exist in config (were not copied from system) + # copy crontab from mod defaults (using -n, do not overwrite an existing file) + cp -n "/defaults/crontabs-mod/${cron_user}" /config/crontabs/ fi - # if crontabs still do not exist in config (were not copied from system) - # copy crontab from included defaults (using -n, do not overwrite an existing file) - cp -n /defaults/crontabs-mod/root /config/crontabs/ -fi -# set permissions and import user crontabs -lsiown root:root /config/crontabs/root -crontab -u root /config/crontabs/root - -## abc -# if crontabs do not exist in config -if [[ ! -f /config/crontabs/abc ]]; then - # copy crontab from system - if crontab -l -u abc; then - crontab -l -u abc >/config/crontabs/abc - fi - - # if crontabs still do not exist in config (were not copied from system) - # copy crontab from included defaults (using -n, do not overwrite an existing file) - cp -n /defaults/crontabs-mod/abc /config/crontabs/ -fi -# set permissions and import user crontabs -lsiown abc:abc /config/crontabs/abc -crontab -u abc /config/crontabs/abc + # set permissions and import user crontabs + lsiown "${cron_user}":"${cron_user}" "/config/crontabs/${cron_user}" + crontab -u "${cron_user}" "/config/crontabs/${cron_user}" +done diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-cron-add-package b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-cron-add-package deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-cron/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-cron/dependencies.d/init-services deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-cron/run b/root/etc/s6-overlay/s6-rc.d/svc-cron/run deleted file mode 100755 index f116b80..0000000 --- a/root/etc/s6-overlay/s6-rc.d/svc-cron/run +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -if builtin command -v busybox >/dev/null && [[ $(busybox) =~ [[:space:]](crond)([,]|$) ]]; then - exec busybox crond -f -S -l 5 -elif [[ -f /usr/bin/apt ]] && [[ -f /usr/sbin/cron ]]; then - exec /usr/sbin/cron -f -L 5 -else - echo "**** cron not found ****" -fi diff --git a/root/etc/s6-overlay/s6-rc.d/svc-cron/type b/root/etc/s6-overlay/s6-rc.d/svc-cron/type deleted file mode 100644 index 1780f9f..0000000 --- a/root/etc/s6-overlay/s6-rc.d/svc-cron/type +++ /dev/null @@ -1 +0,0 @@ -longrun \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-add-package b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-add-package deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-cron b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-cron deleted file mode 100644 index e69de29..0000000