如何自动备份印象笔记里的数据?

使用印象笔记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)第二个定时任务∶把上面的压缩包数据定时备份到谷歌网盘和微软网盘

这样的话,利用服务器中转,把印象笔记数据最终备份到谷歌网盘和微软网盘里,数据丢失的可能性极低。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

3 × 2 =

滚动至顶部