Как отбросить таблицу в базе данных в одной строке, запланированной от crontab?

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

На данный момент у меня есть этот пример cronjob попытка (который не работает, если Вы изменяете расписание на что-то ближе для тестирования):

0 0 1 1 * mysql -u root -p <passwordWouldBeHere> -D Survival -h localhost -e 'DROP TABLE stats;'

Это кажется корректным?

Однако это не работает. Мое единственное подозрение - то, что это происходит возможно из-за содержания пароля, который содержит a и символ в нем, я подозреваю, что часть пароля может быть обнаружена как дополнительный отдельный аргумент в рамках команды, даже при том, что целый пароль связывается без пробелов.

Я должен был установить почтовый сервер на своем хосте только для получения возвращаемых аргументов каждый раз, когда это и любая другая команда, запланированная на crontab, выполняются (исключительный, но я предполагаю, что это - то, как crontab работает).

Благодаря этому, хотя, я теперь получаю сообщение об ошибке возврата от дефектной команды, я показал примером:

/bin/sh: 1: <part of the password>: not found

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

Я не попытался выполнить команду вручную на регулярной оболочке. Я могу сделать это, но я предпочел бы разбираться в нем непосредственно в crontab. Я предполагаю, что получил бы подобное сообщение возврата как ошибку.

Я использую 10.3.16-MariaDB И Ubuntu 18.04

Я приложил все усилия для включения всей релевантной информации об этом вопросе, поэтому если Вы находите, что что-то отсутствует, укажите на него вежливо, и я исправлю/добавлю содержание. Заранее спасибо за любую справку.

0
задан 7 August 2019 в 11:41

1 ответ

Решение: Измененный синтаксис на:

30 22 7 8 * mysql --host localhost --user root --password="<passwordWouldBeHere>" -D Factions -e "TRUNCATE TABLE stats;" ;

Также решил усечь вместо отбрасывания.

0
ответ дан 23 October 2019 в 06:52

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

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