diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run b/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run index 8070ce0..8859365 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-crontabs-config/run @@ -1,36 +1,38 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -# if root crontabs do not exist in config -# copy root crontab from system -if [[ ! -f /config/crontabs/root ]] && crontab -l -u root; then - crontab -l -u root >/config/crontabs/root -fi +# make folders +mkdir -p \ + /config/crontabs -# if root crontabs still do not exist in config (were not copied from system) -# copy root crontab from included defaults +## root +# if crontabs do not exist in config if [[ ! -f /config/crontabs/root ]]; then - cp /etc/crontabs/root /config/crontabs/ + # copy crontab from system + if crontab -l -u root; then + crontab -l -u root >/config/crontabs/root + 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 /etc/crontabs/root /config/crontabs/ fi - -# if abc crontabs do not exist in config -# copy abc crontab from system -if [[ ! -f /config/crontabs/abc ]] && crontab -l -u abc; then - crontab -l -u abc >/config/crontabs/abc -fi - -# if abc crontabs still do not exist in config (were not copied from system) -# copy abc crontab from included defaults -if [[ ! -f /config/crontabs/abc ]]; then - cp /etc/crontabs/abc /config/crontabs/ -fi - -# set permissions on crontabs -lsiown root:root \ - /config/crontabs/root -lsiown abc:abc \ - /config/crontabs/abc - -# import user crontabs +# 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 /etc/crontabs/abc /config/crontabs/ +fi +# set permissions and import user crontabs +lsiown abc:abc /config/crontabs/abc crontab -u abc /config/crontabs/abc