Files
Security-Reports/lynis/lynis-weekly
Eduardo David Paredes Vara 80245f3227 weekly lynis
2025-12-05 00:55:03 +00:00

40 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
#
# Lynis Security Report - Weekly Cron Job
# Place this file in /etc/cron.weekly/
# Make it executable: chmod +x /etc/cron.weekly/lynis-weekly
#
# Script directory
SCRIPT_DIR="/opt/lynis-report"
# Python virtual environment
VENV_DIR="$SCRIPT_DIR/venv"
# Log file
LOG_FILE="/var/log/lynis-report.log"
# Change to script directory
cd "$SCRIPT_DIR" || {
echo "$(date): ERROR - Cannot change to directory $SCRIPT_DIR" >> "$LOG_FILE"
exit 1
}
# Log execution start
echo "$(date): Starting Lynis weekly report" >> "$LOG_FILE"
# Activate virtual environment and run the script
if [ -d "$VENV_DIR" ]; then
"$VENV_DIR/bin/python3" "$SCRIPT_DIR/lynis_report.py" >> "$LOG_FILE" 2>&1
else
# Fallback to system python3 if venv doesn't exist
python3 "$SCRIPT_DIR/lynis_report.py" >> "$LOG_FILE" 2>&1
fi
# Log execution result
if [ $? -eq 0 ]; then
echo "$(date): Lynis weekly report completed successfully" >> "$LOG_FILE"
else
echo "$(date): ERROR - Lynis weekly report failed with exit code $?" >> "$LOG_FILE"
fi