Я настраиваю задание cron для периодической обновления базы данных nmzmail, но я хотел бы выполнить задание cron, только если мой ноутбук подключен. Есть ли способ сделать это? Если в команде cron нет встроенной команды, есть ли способ проверить через командную строку, которую я мог бы использовать в простом сценарии?
Я немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[ $(cat /proc/acpi/ac_adapter/AC/state | awk '{print $NF}') = 'on-line' ] && /path/to/your/script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[ $(cat /proc/acpi/ac_adapter/AC/state | awk '{print $NF}') = 'on-line' ] && /path/to/your/script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[ $(cat /proc/acpi/ac_adapter/AC/state | awk '{print $NF}') = 'on-line' ] && /path/to/your/script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[ $(cat /proc/acpi/ac_adapter/AC/state | awk '{print $NF}') = 'on-line' ] && /path/to/your/script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[ $(cat /proc/acpi/ac_adapter/AC/state | awk '{print $NF}') = 'on-line' ] && /path/to/your/script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я бы немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[$ (cat / proc / acpi / ac_adapter / AC / state | awk '{print $ NF}') = 'on-line'] & amp; & amp; & amp; & amp; / path / to / your / script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я бы немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[$ (cat / proc / acpi / ac_adapter / AC / state | awk '{print $ NF}') = 'on-line'] & amp; & amp; & amp; & amp; / path / to / your / script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Я бы немного расширил первый ответ и вместо этого сделаю что-то подобное для записи cron:
[$ (cat / proc / acpi / ac_adapter / AC / state | awk '{print $ NF}') = 'on-line'] & amp; & amp; & amp; & amp; / path / to / your / script_file
Я бы предпочел даже не запускать свой скрипт, если тест не будет успешным. В этом случае cron никогда не запустит сценарий, если ноутбук включен.
Простая версия с использованием 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Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. В начале задания cron вы можете ввести следующее:
# Do nothing when no AC power is available grep -q on-line /proc/acpi/ac_adapter/AC/state || exit 0Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. В начале задания cron вы можете ввести следующее:
# Do nothing when no AC power is available grep -q on-line /proc/acpi/ac_adapter/AC/state || exit 0Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. В начале задания cron вы можете ввести следующее:
# Do nothing when no AC power is available grep -q on-line /proc/acpi/ac_adapter/AC/state || exit 0Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. В начале задания cron вы можете ввести следующее:
# Do nothing when no AC power is available grep -q on-line /proc/acpi/ac_adapter/AC/state || exit 0Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. В начале задания cron вы можете ввести следующее:
# Do nothing when no AC power is available grep -q on-line /proc/acpi/ac_adapter/AC/state || exit 0Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. Вы можете ввести следующее в начале вашего задания cron:
# Ничего не делать, когда нет питания переменного тока grep -q on-line / proc / acpi / ac_adapter / AC / state || exit 0
Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. Вы можете ввести следующее в начале вашего задания cron:
# Ничего не делать, когда нет питания переменного тока grep -q on-line / proc / acpi / ac_adapter / AC / state || exit 0
Простая версия с использованием awk:
[$ (awk '{print $ NF}' / proc / acpi / ac_adapter / AC / state) = 'on-line'] && / path / to / your / script_file
, но эта версия все еще выглядит более простой IMHO:
grep -q on-line / proc / acpi / ac_adapter / AC / state && / path / to / your / script_file
Что вы можете сделать, это проверить, содержит ли / proc / acpi / ac_adapter / AC / state слово в режиме онлайн. Вы можете ввести следующее в начале вашего задания cron:
# Ничего не делать, когда нет питания переменного тока grep -q on-line / proc / acpi / ac_adapter / AC / state || exit 0