remove cron check for now

This commit is contained in:
Ryahn 2025-02-23 17:02:10 -06:00
parent b1e22b7590
commit 4194f676b5

144
setup.sh
View File

@ -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"