PHP Exec Cron Job возвращает неожиданный EOF

0

Я пытаюсь запустить php-скрипт во время задания cron, чтобы выгрузить мою базу данных MySQL в папку для резервного копирования.

$DBHost = 'localhost';
$DBName = 'mydatabase';
$DBUser = 'myuser';
$DBPassword = 'mypassword';

$PATH = "/home/mysite/Backups/";
$FILE_NAME = "backup-" . date( "Y-m-d_H:i:s" ) . ".sql.gz";
exec( '/usr/local/bin/mysqldump -u ' . $DBName . ' -p' . $DBPassword . ' ' . $DBName . ' | gzip --best > ' . $PATH . $FILE_NAME );

Но я продолжаю получать ошибку:

sh: -c: строка 0: неожиданный EOF при поиске соответствия ')'

sh: -c: строка 1: синтаксическая ошибка: неожиданный конец файла

Я проверил все ) и не могу найти никакого несоответствия. Если я прокомментирую команду exec я не получу ошибку.

Кто-нибудь видит, что я делаю неправильно?

Теги:
exec

1 ответ

0

Почему бы не написать весь код в sh?

#!/bin/bash 
dbname="database"
dbuser="user"
dbpass="password"

path="/home/backup"

now=$(date + "%Y-%m-%d")

/usr/bin/mysqldump -u $dbuser -p$dbpass $dbname | gzip > $path/backup_$now.sql.gz

сохраните его, например, backup.sh,

а затем используйте crontab -e, чтобы добавить новое задание cron (например, 2:15 в день)

15 2 * * * /home/backup/backup.sh

Ещё вопросы

Сообщество Overcoder
Наверх
Меню