Log Rotation Konfiqurasiyası
Xüsusi tətbiqlər üçün log rotation qaydaları yaradır və konfiqurasiya edir.
Yayımlanma: 20.04.2024
Kod
#!/bin/bash
# Log Rotation Configuration Script
if [ "$EUID" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
read -p "Enter application name: " APP_NAME
read -p "Enter log file path: " LOG_PATH
read -p "Rotation frequency (daily/weekly/monthly) [daily]: " FREQUENCY
FREQUENCY=${FREQUENCY:-daily}
read -p "Keep how many rotations [7]: " KEEP
KEEP=${KEEP:-7}
cat > "/etc/logrotate.d/$APP_NAME" << EOF
$LOG_PATH {
$FREQUENCY
rotate $KEEP
compress
delaycompress
missingok
notifempty
create 0644 www-data www-data
sharedscripts
postrotate
systemctl reload $APP_NAME > /dev/null 2>&1 || true
endscript
}
EOF
echo "✓ Log rotation configured for $APP_NAME"
echo ""
echo "Config file: /etc/logrotate.d/$APP_NAME"
echo ""
echo "Test configuration:"
echo "logrotate -d /etc/logrotate.d/$APP_NAME"
echo ""
echo "Force rotation:"
echo "logrotate -f /etc/logrotate.d/$APP_NAME"
İstifadə
sudo chmod +x logrotate_setup.sh
sudo ./logrotate_setup.sh
# Test configuration
sudo logrotate -d /etc/logrotate.d/<app_name>