37 lines
875 B
Bash
37 lines
875 B
Bash
#!/bin/bash
|
|
|
|
CRON_LIST=/data/$SRV_START_DIR/cron.cfg
|
|
|
|
trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT
|
|
set -e
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Checking for the presence of the cron.list file
|
|
if [ ! -f $CRON_LIST ]; then
|
|
echo "cron.list file not found!"
|
|
exit 1
|
|
fi
|
|
|
|
# Reading current crontab jobs into a variable
|
|
current_crontab=$(crontab -l 2>/dev/null)
|
|
|
|
# Iterate through the lines of the cron.list file
|
|
while IFS= read -r line; do
|
|
# Skip blank lines and comments
|
|
if [[ -z "$line" || "$line" == \#* ]]; then
|
|
continue
|
|
fi
|
|
|
|
# Checking if a job exists in the current crontab
|
|
if echo "$current_crontab" | grep -Fq "$line"; then
|
|
echo "The task already exists: $line"
|
|
else
|
|
# Adding a job to crontab
|
|
(crontab -l; echo "$line") | crontab -
|
|
echo "Task added: $line"
|
|
fi
|
|
done < "$CRON_LIST"
|
|
|
|
trap - EXIT
|
|
echo "Cron add ok." |