Настройте задание крона для выполнения, только если ноутбук включается?

Я настраиваю задание крона для обновления моей nmzmail базы данных периодически, но я хотел бы, чтобы задание крона выполнилось, только если мой ноутбук включается. Существует ли способ сделать это? Если нет созданного в команде крона, то является там способом проверить через командную строку, что я мог использовать в простом сценарии?

1
задан 23 June 2011 в 04:20

3 ответа

Я расширился бы немного на первом ответе и вместо этого сделал бы что-то вроде этого для записи крона:

[ $(cat /proc/acpi/ac_adapter/AC/state | awk '{print $NF}') = 'on-line' ] && /path/to/your/script_file

Я даже не запустил бы свой сценарий, если тест не успешен. В этом экземпляре крон никогда не будет запускать сценарий, если ноутбук будет на батарее.

1
ответ дан 7 December 2019 в 14:50

То, что Вы могли сделать, должно проверить, содержит ли/proc/acpi/ac_adapter/AC/state слово онлайн. Вы могли вставить следующее в начале своего задания крона:

# Do nothing when no AC power is available
grep -q on-line /proc/acpi/ac_adapter/AC/state || exit 0
0
ответ дан 7 December 2019 в 14:50

Более простая версия с помощью awk:

[ $(awk '{print $NF}' /proc/acpi/ac_adapter/AC/state) = 'on-line' ] && /path/to/your/script_file

но эта версия все еще выглядит более простой, по моему скромному мнению:

grep -q on-line /proc/acpi/ac_adapter/AC/state && /path/to/your/script_file
1
ответ дан 7 December 2019 в 14:50

Другие вопросы по тегам:

Похожие вопросы: