Задание cPanel Cron не запускает мой скрипт sql

У меня есть приложение php/mysql, которое пользователи могут фактически тестировать/отправлять данные, поэтому я хочу удалить/удалить все таблицы в моей базе данных и запустить мой скрипт sql для воссоздания и заполнения всех таблиц каждый час.

Итак, в моей cpanel у меня есть задание cron [см. ниже]

/home/lwarinz/call_nw_test_script.sh

#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 -elwarinz_northwind \
      </home/lwarinz/nw_test_Script.sql;

Примечание. У меня есть запрос на удаление и повторное создание таблиц, но я использую этот короткий запрос для тестирования:

USE lfwebz_northwind;
UPDATE employees SET FirstName = "Elizabeth" WHERE EmployeeID = 3;

но независимо от того, что я изменяю/регулирую, я получаю следующую ошибку:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'lwarinz_northwind' at line 1

Я изменил так много вещей, и все еще ничего не работает.

Я знаю, что БД, пользователь и пароль верны. Я написал небольшой код подключения к базе данных для тестирования, поэтому я уверен. Так как я новичок в этом, пишите задания cron, я не знаю, что проверять. Может ли кто-нибудь дать мне какие-либо идеи о том, что мне нужно проверить, изменить, переместить и т. д.?

Любая помощь/предложения будут очень признательны.


person user1176783    schedule 29.08.2012    source источник


Ответы (3)


/home/lwarinz/call_nw_test_script.sh

#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 lwarinz_northwind </home/lwarinz/nw_test_Script.sql;
person zb'    schedule 29.08.2012
comment
Привет, Эйкто, это было одно из многих дополнений, без '-e' я все еще получаю указанную выше ошибку. - person user1176783; 30.08.2012
comment
попробуйте тоже удалить USE, но это не проблема, я думаю, что вы редактируете неправильный файл, добавляете в скрипт cat /home/lwarinz/nw_test_Script.sql и запускаете его вручную - person zb'; 03.09.2012

Поскольку вы указываете базу данных в командной строке, не включайте USE как часть вашего скрипта.

#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 lwarinz_northwind \
      </home/lwarinz/nw_test_Script.sql;

Скрипт:

UPDATE employees SET FirstName = "Elizabeth" WHERE EmployeeID = 3;
person BugFinder    schedule 29.08.2012
comment
BugFinder, я пробовал это, я прокомментировал это и все еще получаю ту же ошибку. - person user1176783; 30.08.2012
comment
Это должна быть другая ошибка, потому что этого слова сейчас нет в вашем скрипте. - person BugFinder; 30.08.2012

Просто хотел оставить эту заметку. Я продолжал усердно работать над этим и, наконец, дошел до того, что понял, что у меня правильный сценарий. Связался с моим провайдером сайта в 4-й раз и только что заставил последнего парня посмотреть скрипт и объяснить, почему именно он не работает. Короче говоря, в моем пространстве было что-то «не так», что нужно было скорректировать [до сих пор не уверен, что я в это верю], так что теперь это работает.

Спасибо всем за вклад, я ценю это.

person user1176783    schedule 28.09.2012