#!/bin/bash
# */25 * * * * /usr/bin/bash /root/shell/wwwroot.sh > /dev/null 2>&1
set -euo pipefail

# 配置
DIR_WWW="/data/wwwroot"
USER_GROUP="www:www"
LOG_SIZE="500M"

# 日志函数
log() {
    echo -e "[`date '+%Y-%m-%d %H:%M:%S'`] $*"
}

# 检查是否是root用户
if [[ $EUID -ne 0 ]]; then
   log "请使用 root 用户执行此脚本。"
   exit 1
fi

# 处理 wwwroot 目录
if [[ -d "$DIR_WWW" ]]; then
    log "开始设置目录权限: $DIR_WWW"
    chown -R "$USER_GROUP" "$DIR_WWW"
    find "$DIR_WWW" -type d -exec chmod 775 {} +
    find "$DIR_WWW" -type f -exec chmod 664 {} +
    log "目录权限设置完成。"
else
    log "目录 $DIR_WWW 不存在，跳过权限设置。"
fi

# 清理日志
log "正在清理 systemd 日志 (保留 $LOG_SIZE)..."
journalctl --vacuum-size="$LOG_SIZE"

# 重启 journald
log "正在重启 systemd-journald..."
systemctl restart systemd-journald.service

# 验证日志
log "正在验证日志..."
journalctl --verify || log "日志验证失败，请检查！"

log "所有操作已完成 ✅"

