Благодаря @StéphaneChazelas я использовал strace, чтобы увидеть, где висит df, что привело к этому ответу:https://serverfault.com/a/918160/256146
Перезапуск этого, а затем перезапуск dovecot восстановил работу системы.
Задания, выполняемые через cron
, или at
, или batch
, не выполняются в той же среде выполнения, что и на вашем рабочем столе. Ни одно из ваших изменений PATH
или других настроек переменных среды не распространяется автоматически на ваше задание cron
. Например, $DISPLAY
нет, поэтому программы с графическим интерфейсом требуют специальной обработки (читайтеman xhost
).
Можно установить переменные среды для всех своих cron
заданий в файле crontab
. Прочтите man 5 crontab
.
Посмотрите на результаты echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias
в каждой из ваших сред.
Поскольку часть command
строки crontab
по умолчанию интерпретируется с помощью /bin/sh
, который имеет более простой синтаксис, чем /bin/bash
, я рекомендую, чтобы command
был вызовом bash
скрипт (исполняемый, смонтированный, начинается с #!/bin/bash
), который настраивает среду, а затем вызывает нужную программу.