As a LGSM user, I want LGSM to create its instance of CRONTAB jobs from a user-provided file to allow customization & rapid (re)deployment
Game
7Days2Die
Linux distro
Ubuntu 22.04
Command
command: console
Further information
Would like to be able to create a file {EG: '.crontab'} in the /DATA folder that, if present, will be used to generate that docker's instance of all scheduled jobs via CRONTAB.
As, upon every STOP/START+ of the container, I have to manually modify CRONTAB via the console (miss a few & becomes quite tedious, running multiple servers) since it resets.
fn_print_dots "${servername}"
if [ "${shortname}" == "jk2" ]; then
fn_start_jk2
else
fn_start_tmux
fi
New code to add just below:
# If user defined CRONTAB is present, ingest
if [ -f "${HOME}/.crontab" ]; then
fn_script_log_info "Importing CRONTAB file"
cat "${HOME}/.crontab" | crontab -
else
fn_script_log_info "No CRONTAB file to import"
fi
Post-Addition:
...
fn_print_dots "${servername}"
if [ "${shortname}" == "jk2" ]; then
fn_start_jk2
else
fn_start_tmux
fi
# If user defined CRONTAB is present, ingest
#
# Better to utilize 'config-lgsm/_default.cfg' for cross-server usage, ease of use?
#
if [ -f "${HOME}/.crontab" ]; then
fn_script_log_pass "Importing CRONTAB file"
cat "${HOME}/.crontab" | crontab -
else
fn_script_log_info "No CRONTAB file to import"
fi
# Remove starting lockfile when command ends.
...
Test output:
Jun 09 13:42:24.719 pwserver: START: PASS: Started LinuxGSM
Jun 09 13:42:24.822 pwserver: START: PASS: Started LinuxGSM
Jun 09 13:42:24.824 pwserver: START: PASS: Importing CRONTAB file
Jun 09 13:42:24.834 pwserver: RESTART: INFO: LinuxGSM version: v24.2.1
Jun 09 13:42:24.835 pwserver: RESTART: PASS: core_exit.sh exiting with code: 0
User story
As a LGSM user, I want LGSM to create its instance of CRONTAB jobs from a user-provided file to allow customization & rapid (re)deployment
Game
7Days2Die
Linux distro
Ubuntu 22.04
Command
command: console
Further information
Would like to be able to create a file {EG: '.crontab'} in the /DATA folder that, if present, will be used to generate that docker's instance of all scheduled jobs via CRONTAB.
As, upon every STOP/START+ of the container, I have to manually modify CRONTAB via the console (miss a few & becomes quite tedious, running multiple servers) since it resets.
Keep the .YML clean(er) as well.
Default upon starting-up:
vs. (mock code change)
Giving (mock from file):
Edit (6/9/24) Hand-jammed a proof of concept:
sudo nano /app/lgsm/modules/command_start.sh
Find:
New code to add just below:
Post-Addition:
Test output: