使用印象笔记8年多了,我从来没有备份过数据,里面的笔记不到500条,很多是从网络上收藏的,我认为里面的不少文章值得多次阅读,所以是不能丢失的。
今天设置了自动备份,大致过程是先在自己的vps上安装evernote-backup ,把印象笔记数据备份到服务器上,然后用定时任务再备份到谷歌网盘和微软网盘里。这样的话,即使印象笔记突然倒闭了,数据也不会丢失。
第一步,用evernote-backup导出数据 到服务器。
evernote-backup 是一个备份印象笔记的工具,我们用它把印象笔记数据自动备份到服务器上。
1,安装 python3-pip
apt update && apt install -y python3-pip
2,安装evernote-backup
pip3 install evernote-backup --break-system-packages
3,导出数据
(1)登录印象笔记中国
通过印象笔记官网获取Developer Token,网址 https://app.yinxiang.com/api/DeveloperToken.action ,运行以下代码,授权登录∶
evernote-backup init-db --backend china --token "你的DeveloperToken" --force
(2)导出数据到en_backup.db数据库
evernote-backup sync
(3)把上面en_backup.db数据库导出为 .enex 文件
evernote-backup export enex_files/
第二,用宝塔面板定时任务备份到网盘
利用宝塔定时任务,实现数据自动同步,把上面的enex_files文件夹加密压缩,然后利用宝塔面板里的谷歌和微软两个网盘插件自动备份到网盘里。
(1)第一个定时任务∶把印象笔记数据自动同步到服务器
#!/bin/bash
WORK_DIR="/root"
BACKUP_DIR="/root/印象笔记备份"
STATS_FILE="${WORK_DIR}/last_backup_stats.txt"
PASSWORD='自己设置加密密码' # 👈 修改为你的实际密码
echo "=================================================="
echo "========== 开始执行印象笔记备份 [$(date '+%Y-%m-%d %H:%M:%S')] =========="
cd ${WORK_DIR}
# 1. 增量同步数据
echo "[1/3] 正在同步印象笔记增量数据..."
evernote-backup sync
# --- 统计笔记数量与变化趋势 ---
CURRENT_NOTE_COUNT=$(sqlite3 ${WORK_DIR}/en_backup.db "SELECT COUNT(*) FROM notes;" 2>/dev/null || echo "0")
CURRENT_NOTEBOOK_COUNT=$(sqlite3 ${WORK_DIR}/en_backup.db "SELECT COUNT(*) FROM notebooks;" 2>/dev/null || echo "0")
if [ -f "${STATS_FILE}" ]; then
LAST_NOTE_COUNT=$(awk '{print $1}' ${STATS_FILE})
NOTE_DIFF=$((CURRENT_NOTE_COUNT - LAST_NOTE_COUNT))
if [ ${NOTE_DIFF} -gt 0 ]; then
CHANGE_MSG="📈 较上次增加 ${NOTE_DIFF} 篇"
elif [ ${NOTE_DIFF} -lt 0 ]; then
CHANGE_MSG="📉 较上次减少 $(( -NOTE_DIFF )) 篇"
else
CHANGE_MSG="➖ 数量无变化"
fi
else
CHANGE_MSG="✨ 首次建立统计基准"
fi
# 保存本次数量供下一次对比
echo "${CURRENT_NOTE_COUNT}" > ${STATS_FILE}
# 2. 清理旧导出文件并导出最新 .enex
echo "[2/3] 清理旧导出文件并生成最新 .enex..."
rm -rf ${WORK_DIR}/enex_files
evernote-backup export ${WORK_DIR}/enex_files/
# 3. 生成 7z 加密包
echo "[3/3] 正在生成加密压缩包..."
mkdir -p "${BACKUP_DIR}"
rm -f "${BACKUP_DIR}/evernote_enex_latest.7z"
7z a -p"${PASSWORD}" "${BACKUP_DIR}/evernote_enex_latest.7z" ${WORK_DIR}/enex_files/ >/dev/null
# 获取压缩包体积
ARCHIVE_SIZE=$(ls -lh "${BACKUP_DIR}/evernote_enex_latest.7z" 2>/dev/null | awk '{print $5}')
echo "
echo "----------------- 📊 备份数据统计 -----------------"
echo "📚 笔记本总数 : ${CURRENT_NOTEBOOK_COUNT} 个"
echo "📝 笔记总篇数 : ${CURRENT_NOTE_COUNT} 篇 (${CHANGE_MSG})"
echo "📦 加密包体积 : ${ARCHIVE_SIZE}"
echo "========== 备份成功完成 [$(date '+%Y-%m-%d %H:%M:%S')] =========="
echo "=================================================="
(2)第二个定时任务∶把上面的压缩包数据定时备份到谷歌网盘和微软网盘
这样的话,利用服务器中转,把印象笔记数据最终备份到谷歌网盘和微软网盘里,数据丢失的可能性极低。