linux

Linux回收站如何同步

小樊
43
2025-11-25 14:00:00
栏目: 智能运维

Linux 回收站同步方案

一 核心思路与准备

二 方案一 基于 rsync 的定期双向同步

#!/usr/bin/env bash
set -Eeuo pipefail

TRASH_SRC="$HOME/.local/share/Trash"
TRASH_DST="user@remote:/path/to/TrashMirror"
LOG="$HOME/.local/share/trash-sync.log"

# 创建远端目录结构(files/info)
ssh "$USER@remote" "mkdir -p '$TRASH_DST/files' '$TRASH_DST/info'"

# 镜像同步:删除远端多余项;若远端有同名较新文件则备份后再覆盖
rsync -a --delete \
      --backup --backup-dir="$TRASH_DST/backup/$(date +%F_%H-%M-%S)" \
      --log-file="$LOG" \
      "$TRASH_SRC/" "$TRASH_DST/"
# crontab -e
0 2 * * * /path/to/trash-sync.sh

三 方案二 实时双向同步

settings {
  logfile    = "/var/log/lsyncd-trash.log",
  statusFile = "/var/log/lsyncd-trash.status",
  inotifyMode = "CloseWrite or Modify",
  maxProcesses = 1,
}

sync {
  default.rsync,
  source    = "/home/youruser/.local/share/Trash",
  target    = "user@remote:/path/to/TrashMirror",
  rsync     = {
    archive  = true,
    delete   = true,
    backup   = true,
    backup_dir = "/path/to/TrashMirror/backup/%Y-%m-%d_%H-%M-%S",
  },
  delay = 5,
}

四 方案三 统一删除入口与迁移同步

五 注意事项与恢复建议

0
看了该问题的人还看了