请求关闭后运行任务

请求关闭后运行任务

我有一家小型网吧,里面有 7-9 台 Ubuntu 12.04 工作站。不幸的是,我不能每周都去那里。

我见过一个 Java 解决方案来升级系统,在普通(非 sudo/admin)用户请求关机(但不重启!)后,系统会自动升级 - 我记得基础系统是 Ubuntu 10.04,但程序和桌面管理器是完全定制的,使用自定义软件(例如检查打印机的墨水量......)

这就是为什么我认为,如果我能在我们的环境中设置类似的东西,那将非常有用。我已经用 Bash 编写了脚本,并使用禅意,所以我只想知道:

  1. 我如何调用/运行我的脚本?
  2. 如何在该脚本中运行 root 命令(需要 sudo)?(例如 sudo poweroff 或 halt)

答案1

以下是您可以执行的操作的概述。

如果您想在每次机器关闭时检查升级,您可以将脚本转换为在级别 0(关闭)上运行的系统 v 初始化脚本。

去做这个:

  1. 将您的脚本更改为初始化脚本。简单示例 -http://www.cyberciti.biz/tips/linux-write-sys-v-init-script-to-start-stop-service.html
  2. 将其放入/etc/init.d/
  3. 创建一个符号链接,如:/etc/rc0.d/K01myscipt -> /etc/init.d/myscript

这将发送停止命令(01myscript) 在关机过程开始时添加到脚本中 (K01myscript - 意思是,在其他脚本之前)。我不确定,但也许你必须在脚本开始时取消关机 -shutdown -c now并在脚本结束时再次发出它 - shutdown -h now

该脚本将以 root 身份执行,因此您不需要任何 sudo 命令。您只需要拥有创建上述文件的权限。

相关内容