feat: Add optional system optimizations to install script, refine cron job setup, and update related documentation.

This commit is contained in:
sebseb7
2025-12-18 14:41:48 +01:00
parent 374601f2fa
commit f7663c04c6
2 changed files with 88 additions and 8 deletions

View File

@@ -60,20 +60,22 @@ echo "✓ Scripts are executable"
touch "$LOG_FILE" 2>/dev/null || true
echo "✓ Log file: $LOG_FILE"
# Set up cron job
CRON_JOB="* * * * * $CAPTURE_SCRIPT >> $LOG_FILE 2>&1"
# Set up cron job (script handles its own logging, no redirect needed)
CRON_JOB="* * * * * $CAPTURE_SCRIPT"
echo ""
echo "Setting up cron job for 1 picture per minute..."
# Check if cron job already exists
if crontab -l 2>/dev/null | grep -q "$CAPTURE_SCRIPT"; then
echo "⚠ Cron job already exists, skipping"
echo "⚠ Cron job already exists, updating..."
# Remove old entry and add new one
(crontab -l 2>/dev/null | grep -v "$CAPTURE_SCRIPT"; echo "$CRON_JOB") | crontab -
else
# Add to crontab
(crontab -l 2>/dev/null || true; echo "$CRON_JOB") | crontab -
echo "✓ Cron job added"
fi
echo "✓ Cron job configured"
echo ""
echo "=== Installation Complete ==="
@@ -86,4 +88,33 @@ echo " Test capture: $CAPTURE_SCRIPT --test"
echo " Run manually: $CAPTURE_SCRIPT"
echo " Uninstall: ${SCRIPT_DIR}/uninstall.sh"
echo ""
echo "To change frequency, edit crontab: crontab -e"
# Offer optional optimizations
echo "=== Optional: System Optimizations ==="
echo ""
read -p "Disable swap & apt-updates to preserve SD card? [y/N] " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "Disabling swap..."
sudo swapoff -a 2>/dev/null || true
echo "Disabling apt-daily timers..."
sudo systemctl disable apt-daily.timer apt-daily-upgrade.timer 2>/dev/null || true
echo "✓ SD card preservation enabled"
fi
echo ""
read -p "Set up auto-reboot every 6 hours for stability? [y/N] " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
REBOOT_JOB="0 */6 * * * /sbin/reboot"
if sudo crontab -l 2>/dev/null | grep -q "/sbin/reboot"; then
echo "⚠ Reboot cron already exists, skipping"
else
(sudo crontab -l 2>/dev/null || true; echo "$REBOOT_JOB") | sudo crontab -
echo "✓ Auto-reboot scheduled (00:00, 06:00, 12:00, 18:00)"
fi
fi
echo ""
echo "Setup complete! First capture will happen at the next minute."