Bash 脚本未在启动时执行
Bash script not executing on startup
我每天(午夜)使用 crontab 来 运行 一个 bash 脚本。这很成功,但我并没有真正考虑清楚,如果我的计算机碰巧在午夜关闭(甚至睡着了),脚本将不会 运行。
所以我认为我必须保留 crontab 条目(以防我的计算机处于开启状态),但我还想让 bash 脚本在启动时执行(以防我的计算机处于关闭状态),以便我已经涵盖了所有的基础。
我在网上看到要让我的脚本在启动时执行,我应该编辑我的 /etc/rc.local
文件。我的文件现在包含:
#! /bin/bash
bash /home/me/code.sh
exit 0
我的权限是 -rwxr-xr-x
。
但是,脚本不会在启动时执行。我做错了什么吗?
我猜你自己创建了 /etc/rc.local 吧?据我所知,Ubuntu 18.04 中不再有任何内容(因为它已被删除)。这可能就是它没有被执行的原因。
在 crontab 中@reboot 可能是您问题的可能解决方案。
Anacron 可以解决您的问题。这是一个类似 cron 的系统,专门为机器上的任务创建,但机器并不总是在线。
https://linux.die.net/man/5/anacrontab
我每天(午夜)使用 crontab 来 运行 一个 bash 脚本。这很成功,但我并没有真正考虑清楚,如果我的计算机碰巧在午夜关闭(甚至睡着了),脚本将不会 运行。
所以我认为我必须保留 crontab 条目(以防我的计算机处于开启状态),但我还想让 bash 脚本在启动时执行(以防我的计算机处于关闭状态),以便我已经涵盖了所有的基础。
我在网上看到要让我的脚本在启动时执行,我应该编辑我的 /etc/rc.local
文件。我的文件现在包含:
#! /bin/bash
bash /home/me/code.sh
exit 0
我的权限是 -rwxr-xr-x
。
但是,脚本不会在启动时执行。我做错了什么吗?
我猜你自己创建了 /etc/rc.local 吧?据我所知,Ubuntu 18.04 中不再有任何内容(因为它已被删除)。这可能就是它没有被执行的原因。
在 crontab 中@reboot 可能是您问题的可能解决方案。
Anacron 可以解决您的问题。这是一个类似 cron 的系统,专门为机器上的任务创建,但机器并不总是在线。 https://linux.die.net/man/5/anacrontab