Alby's blog

世上没有巧合,只有巧合的假象。

0%

清理 Chrome for macOS 两年前的历史记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
set -e

# 基准日期(2 年前)
CUTOFF_DATE=$(date -v-2y +%Y-%m-%d)

echo "📅 删除 $CUTOFF_DATE 之前的 Chrome 历史记录..."

# 查找 Chrome 历史记录文件
HISTORY_FILE=$(find ~/Library/Application\ Support/Google/Chrome -type f -name "History" | head -n 1)

if [ -z "$HISTORY_FILE" ]; then
echo "❌ 找不到 Chrome 历史记录文件"
exit 1
fi

echo "✅ 找到历史记录文件: $HISTORY_FILE"

# 备份
BACKUP_FILE="${HISTORY_FILE}.bak.$(date +%Y%m%d%H%M%S)"
cp "$HISTORY_FILE" "$BACKUP_FILE"
echo "💾 已备份到 $BACKUP_FILE"

# 转换为 Chrome 时间戳(从 1601-01-01 起的微秒数)
CHROME_EPOCH_DIFF=11644473600
UNIX_TS=$(date -j -f "%Y-%m-%d" "$CUTOFF_DATE" +%s)
CHROME_TS=$(( ($UNIX_TS + $CHROME_EPOCH_DIFF) * 1000000 ))

# 删除旧记录
/usr/bin/sqlite3 "$HISTORY_FILE" <<EOF
DELETE FROM urls WHERE last_visit_time < $CHROME_TS;
DELETE FROM visits WHERE visit_time < $CHROME_TS;
EOF

echo "🧹 清理完成!请重启 Chrome 以生效。"

本脚本由 ChatGPT 辅助生成。