remove cron check for now
This commit is contained in:
parent
b1e22b7590
commit
4194f676b5
144
setup.sh
144
setup.sh
@ -157,96 +157,96 @@ npm install >> /dev/null 2>&1
|
||||
log_info "Running migrations..."
|
||||
npx knex migrate:latest
|
||||
|
||||
CRON_FILE="$CURRENT_DIR/.cron"
|
||||
echo "" > "$CRON_FILE"
|
||||
echo "0 * * * * $CURRENT_DIR/scripts/delete_messages_24h.sh >> /var/log/temp_mail/cleanup.log 2>&1" >> "$CRON_FILE"
|
||||
echo "0 0 * * * $CURRENT_DIR/scripts/delete_emails_14d.sh >> /var/log/temp_mail/cleanup.log 2>&1" >> "$CRON_FILE"
|
||||
# CRON_FILE="$CURRENT_DIR/.cron"
|
||||
# echo "" > "$CRON_FILE"
|
||||
# echo "0 * * * * $CURRENT_DIR/scripts/delete_messages_24h.sh >> /var/log/temp_mail/cleanup.log 2>&1" >> "$CRON_FILE"
|
||||
# echo "0 0 * * * $CURRENT_DIR/scripts/delete_emails_14d.sh >> /var/log/temp_mail/cleanup.log 2>&1" >> "$CRON_FILE"
|
||||
|
||||
TEMP_CRON="/tmp/temp_cron"
|
||||
# TEMP_CRON="/tmp/temp_cron"
|
||||
|
||||
mkdir -p /var/log/temp_mail
|
||||
# mkdir -p /var/log/temp_mail
|
||||
|
||||
# Check if .cron file exists
|
||||
if [ ! -f "$CRON_FILE" ]; then
|
||||
log_error "Cron file not found at $CRON_FILE"
|
||||
exit 1
|
||||
fi
|
||||
# # Check if .cron file exists
|
||||
# if [ ! -f "$CRON_FILE" ]; then
|
||||
# log_error "Cron file not found at $CRON_FILE"
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
# Function to normalize cron entry (remove extra spaces)
|
||||
normalize_cron() {
|
||||
echo "$1" | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' -e 's/[ \t]\+/ /g'
|
||||
}
|
||||
# # Function to normalize cron entry (remove extra spaces)
|
||||
# normalize_cron() {
|
||||
# echo "$1" | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' -e 's/[ \t]\+/ /g'
|
||||
# }
|
||||
|
||||
# Function to check if a cron job exists
|
||||
check_cron_job() {
|
||||
local cron_entry="$1"
|
||||
local normalized_entry=$(normalize_cron "$cron_entry")
|
||||
# # Function to check if a cron job exists
|
||||
# check_cron_job() {
|
||||
# local cron_entry="$1"
|
||||
# local normalized_entry=$(normalize_cron "$cron_entry")
|
||||
|
||||
# Get current user's crontab
|
||||
crontab -l > "$TEMP_CRON" 2>/dev/null
|
||||
# # Get current user's crontab
|
||||
# crontab -l > "$TEMP_CRON" 2>/dev/null
|
||||
|
||||
# Check if the normalized entry exists in current crontab
|
||||
if grep -Fq "$normalized_entry" "$TEMP_CRON"; then
|
||||
return 0 # Found
|
||||
else
|
||||
return 1 # Not found
|
||||
fi
|
||||
}
|
||||
# # Check if the normalized entry exists in current crontab
|
||||
# if grep -Fq "$normalized_entry" "$TEMP_CRON"; then
|
||||
# return 0 # Found
|
||||
# else
|
||||
# return 1 # Not found
|
||||
# fi
|
||||
# }
|
||||
|
||||
# Function to install cron jobs
|
||||
install_cron_jobs() {
|
||||
log_info "Installing cron jobs..."
|
||||
# # Function to install cron jobs
|
||||
# install_cron_jobs() {
|
||||
# log_info "Installing cron jobs..."
|
||||
|
||||
# Get current crontab
|
||||
crontab -l > "$TEMP_CRON" 2>/dev/null
|
||||
# # Get current crontab
|
||||
# crontab -l > "$TEMP_CRON" 2>/dev/null
|
||||
|
||||
# Read each line from .cron file
|
||||
while IFS= read -r line || [ -n "$line" ]; do
|
||||
# Skip comments and empty lines
|
||||
[[ $line =~ ^#.*$ ]] || [ -z "$line" ] && continue
|
||||
# # Read each line from .cron file
|
||||
# while IFS= read -r line || [ -n "$line" ]; do
|
||||
# # Skip comments and empty lines
|
||||
# [[ $line =~ ^#.*$ ]] || [ -z "$line" ] && continue
|
||||
|
||||
normalized_line=$(normalize_cron "$line")
|
||||
# normalized_line=$(normalize_cron "$line")
|
||||
|
||||
if ! grep -Fq "$normalized_line" "$TEMP_CRON"; then
|
||||
log_warn "Cron job not found, adding: $normalized_line"
|
||||
echo "$normalized_line" >> "$TEMP_CRON"
|
||||
else
|
||||
log_info "Cron job already exists: $normalized_line"
|
||||
fi
|
||||
done < "$CRON_FILE"
|
||||
# if ! grep -Fq "$normalized_line" "$TEMP_CRON"; then
|
||||
# log_warn "Cron job not found, adding: $normalized_line"
|
||||
# echo "$normalized_line" >> "$TEMP_CRON"
|
||||
# else
|
||||
# log_info "Cron job already exists: $normalized_line"
|
||||
# fi
|
||||
# done < "$CRON_FILE"
|
||||
|
||||
# Install new crontab
|
||||
crontab "$TEMP_CRON"
|
||||
# # Install new crontab
|
||||
# crontab "$TEMP_CRON"
|
||||
|
||||
# Clean up
|
||||
rm -f "$TEMP_CRON"
|
||||
}
|
||||
# # Clean up
|
||||
# rm -f "$TEMP_CRON"
|
||||
# }
|
||||
|
||||
# Main execution
|
||||
log_info "Checking cron jobs..."
|
||||
# # Main execution
|
||||
# log_info "Checking cron jobs..."
|
||||
|
||||
# Read .cron file and check each entry
|
||||
missing_jobs=0
|
||||
while IFS= read -r line || [ -n "$line" ]; do
|
||||
# Skip comments and empty lines
|
||||
[[ $line =~ ^#.*$ ]] || [ -z "$line" ] && continue
|
||||
# # Read .cron file and check each entry
|
||||
# missing_jobs=0
|
||||
# while IFS= read -r line || [ -n "$line" ]; do
|
||||
# # Skip comments and empty lines
|
||||
# [[ $line =~ ^#.*$ ]] || [ -z "$line" ] && continue
|
||||
|
||||
if ! check_cron_job "$line"; then
|
||||
log_warn "Missing cron job: $line"
|
||||
missing_jobs=$((missing_jobs + 1))
|
||||
else
|
||||
log_info "Found cron job: $line"
|
||||
fi
|
||||
done < "$CRON_FILE"
|
||||
# if ! check_cron_job "$line"; then
|
||||
# log_warn "Missing cron job: $line"
|
||||
# missing_jobs=$((missing_jobs + 1))
|
||||
# else
|
||||
# log_info "Found cron job: $line"
|
||||
# fi
|
||||
# done < "$CRON_FILE"
|
||||
|
||||
# If any jobs are missing, offer to install them
|
||||
if [ $missing_jobs -gt 0 ]; then
|
||||
log_warn "Found $missing_jobs missing cron job(s)"
|
||||
install_cron_jobs
|
||||
log_info "Cron jobs have been updated"
|
||||
else
|
||||
log_info "All cron jobs are up to date"
|
||||
fi
|
||||
# # If any jobs are missing, offer to install them
|
||||
# if [ $missing_jobs -gt 0 ]; then
|
||||
# log_warn "Found $missing_jobs missing cron job(s)"
|
||||
# install_cron_jobs
|
||||
# log_info "Cron jobs have been updated"
|
||||
# else
|
||||
# log_info "All cron jobs are up to date"
|
||||
# fi
|
||||
|
||||
log_info "Installation complete!"
|
||||
log_info "You can now start the email server with: sudo systemctl start haraka"
|
||||
Loading…
x
Reference in New Issue
Block a user