Ошибка Cron getpwnam () не удалось выполнить резервное копирование БД

Пытаюсь узнать, как реализовать задание cron с помощью php.

cron имеет такой формат / etc / crontab

 * 13 * * * /usr/bin/php /var/www/path/to/file/database-bkup-test.php &>/tmp/mycroncommand.log

Таким образом, это должно выполняться ежедневно в 13 часов (13 часов)

Я просмотрел статус службы с

sudo systemctl status crond.service -l

Обнаружена следующая ошибка:

(/ usr / bin / php) ОШИБКА (ошибка getpwnam ())

У меня это настроено при использовании PHP сценарий выглядит так:

$today = date('Y-m-d');
$user = 'db_user';
$password = 'db_password'; 
$host = '127.0.0.1'; //this is actually replaced with an address to another remote server
$port='3306';
$database='database_name';

exec('mysqldump --user='.$user.' --password='.$password.' --host='.$host.' --port='.$port.' '.$database.' > /db-bkup/db-'.$today.'.sql');

конечным результатом будет дамп базы данных в файл:

db-2017-03-24. sql

Может ли кто-нибудь мне помочь?

Я потратил время на чтение и попытки реализовать это. Я нашел этот пост очень полезным

Поскольку задание не выполняется, все это даже не создает журнал в / tmp .

Обновление

Добавлено простое cron для вывода "Hello World";

* / 2 * * * * root /scripts/test.php &> / tmp / mycrontest.log

На этот раз у меня есть журнал, созданный с отказом в разрешении. Я предполагаю, что это потому, что я никогда не применял / usr / bin / php

Это шаг вперед от исходной ошибки.

1
задан 13 April 2017 в 15:14
1 ответ

Благодаря Conn Warwicker выше за помощь в решении проблемы:

я пропустил пользователя root из моей работы с cron.

 * 13 * * * root /usr/bin/php /var/www/path/to/file/database-bkup-test.php &>/tmp/mycroncommand.log
4
ответ дан 3 December 2019 в 17:35

Теги

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