Rus*_*ber 12 command-line suspend hibernate power-management
只要满足预定条件,似乎有很多方法可以在需要时永久操纵 Ubuntu 的设置以进入睡眠状态。但是,这些是更持久的解决方案,不考虑可能想要暂时放弃标准策略的罕见任务。我遇到的问题是我有一个很长的运行脚本来做一些备份,我不希望计算机在该特定进程运行时进入睡眠或休眠状态,这通常需要 30-50 分钟。因此,是否有一个命令可以包含在我的备份脚本中,以防止系统在备份脚本运行时休眠/睡眠,并且是否还有一个命令可以在备份完成后恢复正常的默认电源策略?
就像是
#!/usr/bin/bash
#disable normal powerpolicy
disable-power-policies
backup /dev/sda /dev/sdb /dev/fioa /dev/fiob
#enable power policies.
enable-power-policies
Run Code Online (Sandbox Code Playgroud)
Dan*_*lKO 15
暂时最方便的方法是使用systemd-inhibit:
systemd-inhibit CMD [...]
Run Code Online (Sandbox Code Playgroud)
如果没有额外的选项,将在暂时禁用空闲检测(可能会自动挂起/休眠机器)、显式挂起/休眠(例如您意外按下键盘上的睡眠键)和关闭命令时systemd-inhibit执行。CMD
您可以使用它来调用备份脚本,如下所示:
systemd-inhibit ./my-backup-task.sh
Run Code Online (Sandbox Code Playgroud)
Dus*_*and 13
在 Ubuntu 16.04 LTS 上,我成功使用以下命令禁用挂起:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Run Code Online (Sandbox Code Playgroud)
这是重新启用它:
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
Run Code Online (Sandbox Code Playgroud)