我如何防止耗时的备份命令因系统在一段时间内不活动而暂停而被中断?

我如何防止耗时的备份命令因系统在一段时间内不活动而暂停而被中断?

我正在使用 XFCE 电源管理器。在“系统”选项卡下,对于“系统省电”部分,我选择“系统睡眠模式”为:插入电源后,闲置 1 小时后挂起。最长闲置时间为 6 小时。

如果我运行命令将我的主页备份到外部驱动器,例如

sudo rsync -a /home/tim  /media/tim/externaldrive/  2>rsync-errors

这可能需要超过 10 个小时,而我将笔记本电脑放在一边并进入睡眠状态,那么在我离开笔记本电脑一小时后,我的 Ubuntu 是否会被暂停,从而中断备份命令?

如果是,那么如何在不改变系统睡眠模式的情况下防止备份命令被中断?

谢谢。

答案1

1)systemd 的抑制

可以通过运行以下命令来使用 systemd 抑制单个进程

sudo systemd-inhibit --what=idle:sleep:shutdown:handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch --mode=block rsync -a /home/tim  /media/tim/externaldrive/  2>rsync-errors

systemd-inhibit需要提升权限。调用的命令在我的系统上以 root 身份运行。有关其他选项,请参阅Systemd 抑制或者运行man systemd-inhibit

2)登录 D-Bus API

logind D-Bus API 和抑制器锁可用于开发正确发出和释放抑制锁的应用程序。

3)演示模式

xfce4-power-manager gui 包含一个名为演示模式的选项。它将关闭 DPMS(显示电源管理信号),这样您的屏幕就不会空白或休眠,并防止激活屏幕保护程序模式。

答案2

更新 rsync 以在启动备份之前查询用户,提醒用户自己执行“sudo systemd-inhibit --what=idle:sleep:shutdown:handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch --mode=block rsync -a /home/tim /media/tim/externaldrive/ 2>rsync-errors”或自动执行。

相关内容