【问题标题】:Crontab @reboot for AIXAIX 的 Crontab @reboot
【发布时间】:2021-05-04 00:19:36
【问题描述】:

我希望在我的AIX machine 上的脚本在服务器重新启动时执行。我在我的 crontab 文件中尝试了以下命令,但收到了错误。

@reboot sleep 300 && /usr/bin/sh /opt/script.sh

crontab 文件的一行: @reboot sleep 300 && /usr/bin/sh /opt/script.sh

包含以下错误: 0481-079 到达了一个意想不到的符号。

【问题讨论】:

  • Crontab 用于周期性事件。对于系统启动,有一个 SystemV 风格的初始化系统。见 /etc/init.d

标签: cron aix reboot


【解决方案1】:

要在 AIX 服务器重新启动时执行脚本,您有两个选项,这两个选项都涉及 /etc/inittab file

选项 #1 是将调用作为 inittab 条目插入脚本,使用 mkitab;例如:

mkitab 'myscript:2:once:/opt/script.sh'

这假设您已使 /opt/script.sh 可执行 (chmod +x /opt/script.sh) 和 put a proper sh-bang line in it。完成后,无需在其前面加上 /usr/bin/sh。


选项 #2 是利用现有的运行级别 2 脚本目录,该目录通过 l2:2:wait:/etc/rc.d/rc 2 条目从 /etc/inittab 调用。只需将您的(正确可执行的)/opt/script.sh 文件放在以 S 开头的 /etc/rc.d/rc2.d 中,以表明它应该在运行级别 2 中启动。例如:

cp /opt/script.sh /etc/rc.d/rc2.d/S90-script.sh

在这里,我为其添加了前缀“S90”,它的前导 S 表示启动,而 90 作为对运行级别 2 中的项目进行排序的粗略方式。此解决方案的警告是init 系统会假设你的脚本支持一个参数——startstop。在启动期间,它将使用“start”参数调用您的脚本。如果您现有的脚本默默地忽略任何参数,那么您很好。否则,您可能需要对其进行修改或编写包装脚本。

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 2017-11-27
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多