Linux 下 Notepad 文件备份实现指南
适用说明
方案一 通用外部备份脚本与定时任务
#!/usr/bin/env bash
set -e
SRC="$1"
[ -z "$SRC" ] && { echo "用法: $0 <文件路径>"; exit 1; }
# 备份目录:与源文件同目录下的 .bak 隐藏目录
BAK_DIR="$(dirname "$SRC")/.bak"
mkdir -p "$BAK_DIR"
# 生成时间戳,避免同一秒内多次保存冲突
TS=$(date +"%Y%m%d_%H%M%S_%3N")
EXT="${SRC##*.}"
[ "$EXT" = "$SRC" ] && EXT="txt" # 无扩展名时默认 txt
BAK_FILE="$BAK_DIR/$(basename "$SRC" .$EXT)_${TS}.$EXT"
# 执行备份(保留元数据)
cp -p "$SRC" "$BAK_FILE"
# 可选:仅保留最近 N 个备份(示例 N=10)
N=10
(cd "$BAK_DIR" && ls -1t | tail -n +$((N+1)) | xargs -r rm -f)
chmod +x /usr/local/bin/backup_notepad.sh
/usr/local/bin/backup_notepad.sh "%f"
方案二 使用 rsync 进行增量与时间戳备份
#!/usr/bin/env bash
SRC="$HOME/Documents"
DST="/mnt/backup/notepad_docs_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$DST"
# 增量同步(保留属性、删除目标端多余文件)
rsync -a --delete "$SRC/" "$DST/"
# 可选:硬链接快照式保留近 7 天历史(更省空间)
# 需先安装 rsync 的 --link-dest 支持,按日执行并复用前一天快照
方案三 定时任务与系统级备份工具
# crontab -e
0 2 * * * tar -czvf /backup/docs_$(date +\%F).tar.gz -C $HOME/Documents .
方案四 若你指的是 notepad-- 的配置文件备份
tar -czvf notepad_config_$(date +%F).tar.gz -C ~/.config notepad
#!/usr/bin/env bash
BACKUP_DIR="$HOME/.backup/notepad--"
SRC_DIR="$HOME/.config/notepad"
mkdir -p "$BACKUP_DIR"
DATE=$(date +%F)
rsync -a --delete "$SRC_DIR/" "$BACKUP_DIR/notepad_$DATE/"
find "$BACKUP_DIR" -type d -mtime +30 -exec rm -rf {} \;