Как указано в комментариях, cron
— правильный инструмент для этого. at
используется для запуска команды в указанное время и дату, но только один раз.
Просто добавьте эту строку в/etc/crontab
:
0 7 15 * * youruser /path/to/somecommand
Запускает указанную команду в 7 :00 утра каждого 15-го числа месяца.
Для получения дополнительной информации см. справочные страницы:
man cron
man crontab
Как отмечалось в комментариях, проблему можно было воспроизвести вручную, запустив sudo -u mysql touch /media/pi/DBDRIVE/MariaDB/raspberrypitouch.lower-test
. Это привело к ошибке «Отказано в доступе».
Поскольку вопрос показывает, что каталог «MariaDB» полностью принадлежит пользователю «mysql», проблема, скорее всего, будет связана с одним из родительских каталогов -«/media», «/media/pi», & '/media/pi/DBDRIVE'. Этим каталогам нужны как минимум разрешения на выполнение (для всех пользователей ), чтобы пользователь mysql мог получить доступ к каталогу '/media/pi/DBDRIVE/MariaDB/'.
OP подтвердил, что в каталоге /media отсутствовали необходимые разрешения, и их добавление устранило проблему.
Соответствующее примечание из базы знаний MariaDB:https://mariadb.com/kb/en/what-to-do-if-mariadb-doesnt-start/#cant-create-test-file