Wykonywanie poleceń konsoli przez MySQL

0

Witam,
chciałbym zrobić automatyczne zakładanie archiwów do nowo tworzonych projektów w bazie. Mam na jednej maszynie MySQL i Sambę. W sambie jest udział projekty. Chodzi o to, że jak dodaję nowy projekt w tabeli projekty to tworzy się automatycznie folder z tą nazwą. Najwygodniej by było gdyby wywoływał się skrypt zewnętrzny z nazwą jako parametr, ale szczerze mówiąc nie wiem jak to ugryźć.

0

Mam, że tak powiem poszlakę. Niestety jednak jakoś nie potrafię jej wykorzystać.
Chodzi o polecenie "system". Generalnie chciałem go umieścić w triggrze który działa, niestety cokolwiek bym wpisał za słowem system, dostaję "syntax error"
Druga sprawa to nawet jeśli by to zadziałało to jaki użytkownik by wykonywał to polecenie, bo trzeba skonfigurować pod to sudoers.

ps. nie mogłem edytować poprzedniego bo się wcześniej nie zalogowałem :(

0

A próbowałeś z poziomu konsoli MySQL wywołać jakąś najprostszą komendę np: "system mkdir <directory name="name">;" ?
Wg specyfikacji komenda "system": "Execute the given command using your default command interpreter. The system command works only in Unix.", więc jeżeli to powyżej nie zadziała to masz odpowiedź dlaczego.

źródło: http://dev.mysql.com/doc/refman/5.0/en/mysql-commands.html

0

Próbowałem działa, system debian.

0

ah mogłem nie doczytać, spróbuj ale być może chodzi o to: "When using MySQL in batch mode, you may often find it useful to use the UNIX shell commands along with the SQL queries". Czyli byłoby to tylko dostępne z poziomu command line. Niestety chwilowo nie mam gdzie sprawdzić.

edit: źródło: http://blogs.sun.com/amitsaha/entry/mixing_sql_and_shell_commands

0

Kurde gdzie to znalazłeś? Generalnie to by zamykało temat i wszystko się zgadza. Polecenia SYSTEM nie można zastosować w triggerze tylko w skrypcie wykonywanym z konsoli. Pozostaje cykliczne wykonanie skryptu BASH na serwerze. Temat w zasadzie do zamknięcia. Chyba że ktoś ma jeszcze lepszy (bardziej wydajny) pomysł na wykonanie tego zadania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1