mirror of
https://github.com/linuxserver/docker-mods.git
synced 2026-03-23 00:05:28 +08:00
Merge pull request #736 from linuxserver/universal-cron-standard
cron standard
This commit is contained in:
commit
d85088b0fa
@ -1,9 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
if [ ! -f /usr/sbin/cron ] && [ -f /usr/bin/apt ]; then
|
||||
echo "**** Adding cron to package install list ****"
|
||||
echo "cron" >>/mod-repo-packages-to-install.list
|
||||
else
|
||||
echo "**** cron package already installed, skipping ****"
|
||||
fi
|
||||
@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run
|
||||
@ -1,38 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
# 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
|
||||
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
|
||||
@ -1 +0,0 @@
|
||||
oneshot
|
||||
@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/run
|
||||
30
root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run
Executable file
30
root/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run
Executable file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
for cron_user in abc root; do
|
||||
# make folders
|
||||
mkdir -p \
|
||||
/config/crontabs
|
||||
|
||||
# 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 2>&1; 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
|
||||
|
||||
# set permissions and import user crontabs
|
||||
lsiown "${cron_user}":"${cron_user}" "/config/crontabs/${cron_user}"
|
||||
crontab -u "${cron_user}" "/config/crontabs/${cron_user}"
|
||||
done
|
||||
@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-mod-universal-crontab-config/run
|
||||
@ -1,10 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
if [ -f /usr/bin/apt ]; then
|
||||
# ubuntu
|
||||
exec /usr/sbin/cron -f -L 1
|
||||
elif [ -f /sbin/apk ]; then
|
||||
# alpine
|
||||
exec /usr/sbin/crond -f -S -l 5
|
||||
fi
|
||||
@ -1 +0,0 @@
|
||||
longrun
|
||||
Loading…
x
Reference in New Issue
Block a user