chore: initial commit

This commit is contained in:
你的用户名
2025-11-01 21:58:31 +08:00
commit 0406b5664f
101 changed files with 20458 additions and 0 deletions

43
protect_session.sh Executable file
View File

@@ -0,0 +1,43 @@
#\!/bin/bash
# Session 文件保护脚本
SESSION_FILE="user_session.session"
BACKUP_DIR="session_backups"
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 检查 session 文件
if [ \! -f "$SESSION_FILE" ]; then
echo "❌ 警告: $SESSION_FILE 不存在!"
# 尝试从备份恢复
LATEST_BACKUP=$(ls -t "$BACKUP_DIR"/*.session 2>/dev/null | head -1)
if [ -n "$LATEST_BACKUP" ]; then
echo "尝试从备份恢复: $LATEST_BACKUP"
cp "$LATEST_BACKUP" "$SESSION_FILE"
cp "${LATEST_BACKUP}-journal" "${SESSION_FILE}-journal" 2>/dev/null
echo "✅ 已从备份恢复"
else
echo "❌ 没有可用的备份"
exit 1
fi
else
# 文件存在,创建备份
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
cp "$SESSION_FILE" "$BACKUP_DIR/user_session_${TIMESTAMP}.session"
if [ -f "${SESSION_FILE}-journal" ]; then
cp "${SESSION_FILE}-journal" "$BACKUP_DIR/user_session_${TIMESTAMP}.session-journal"
fi
# 只保留最近7天的备份
find "$BACKUP_DIR" -name "*.session*" -mtime +7 -delete
echo "✅ Session 备份成功: $TIMESTAMP"
fi
# 确保权限正确
chmod 600 "$SESSION_FILE"* 2>/dev/null
# 设置为不可修改(可选,需要 root
# chattr +i "$SESSION_FILE" 2>/dev/null