Задать вопрос
@veryaskinan
веб-программист

Почему бекап таблицы базы данных не удается сделать через shell_exec?

Делаю бекап таблицы базы данных командой

mysqldump -u dbuser -pdbPassword dbName tableName | gzip > `date +{$rootDir}_service/dbbackups/$folder/tableName .%Y-%m-%d.%H-%M-%S.sql.gz`

Если запускаю команду в консоли то все прекрасно, но если запускаю команду через shell_exec то архив создается размером 20 Байт. это явно не полный архив. Почему не работает через shell_exec, какие возможные причины?
  • Вопрос задан
  • 249 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
не работает конвейер. Потому что он обеспечивается шеллом (/bin/bash и подобные), а вы запускаете команду без него.
Ответ написан
@veryaskinan Автор вопроса
веб-программист
Уточнение: даже когда сам php скрипт запускаю через консоль, все прекрасно, но когда этот скрипт через браузер, то mysqldump создает пустой файл, а если использовать gzip сжатие, то файл размером 20Б
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽