Ubuntu 22.04下Déjà Dup自动备份出现Duplicity实例冲突报错的解决咨询
Ubuntu 22.04下Déjà Dup自动备份出现Duplicity实例冲突报错的解决咨询
Hey,我之前维护Ubuntu桌面系统时也碰到过一模一样的问题——Déjà Dup配合Duplicity自动备份时,经常因为残留进程或者挂载时机不对导致冲突报错,重启确实太折腾人了。下面给你几个经过验证的方案,能帮你减少甚至解决这个问题:
一、从根源避免冲突:让备份只在硬盘挂载时触发
默认的定时备份不管硬盘有没有插都会尝试启动,很容易留下残留进程。我们可以改成硬盘挂载时自动触发备份,完全贴合你“插硬盘才备份”的使用习惯:
- 先拿到你的USB硬盘UUID:打开终端执行
lsblk -f,找到对应硬盘分区的UUID字段,复制下来。 - 创建udev规则文件:用编辑器打开
/etc/udev/rules.d/99-backup-on-mount.rules(需要sudo权限),写入以下内容:ACTION=="add", ENV{ID_FS_UUID}=="这里换成你的硬盘UUID", RUN+="/usr/bin/deja-dup --backup" - 重新加载udev规则:执行
sudo udevadm control --reload-rules && sudo udevadm trigger,之后你每次插硬盘,备份就会自动启动了。
二、自动清理残留锁文件
冲突大多是因为之前的备份进程异常退出,留下了锁文件。我们可以给备份加个前置清理步骤:
- 创建一个简单的备份脚本
~/backup-start.sh,内容如下:#!/bin/bash # 清理Duplicity残留锁文件 rm -f ~/.cache/deja-dup/duplicity-*.lock /tmp/duplicity-*.lock # 启动Déjà Dup备份 /usr/bin/deja-dup --backup - 给脚本加执行权限:
chmod +x ~/backup-start.sh,之后不管是udev调用还是手动启动,都用这个脚本,能有效避免锁文件导致的冲突。
三、优化Déjà Dup的重试机制
打开Déjà Dup的设置面板,找到「备份选项」,把重试次数调高(比如3次),重试间隔设为5-10分钟。这样如果第一次检测到进程冲突,它会自动等一会儿再尝试,不用你手动干预。
四、更安全的手动干预方法(万不得已时用)
如果还是碰到报错,别直接杀进程,按这个步骤来:
- 终端执行
ps aux | grep duplicity,找到正在运行的Duplicity进程ID(PID)。 - 执行
kill -TERM 进程ID,给进程发送优雅终止信号,让它自己清理锁文件再退出,比kill -9安全多了。 - 等几分钟再手动启动备份就行。
备注:内容来源于stack exchange,提问作者Jaydin
相关产品推荐
相关产品推荐

