Wątek przeniesiony 2019-01-02 09:08 z Newbie przez Adam Boduch.

Cron job nie działa prawidłowo

Odpowiedz Nowy wątek
2018-12-27 21:10
0

Witam,
mam dziwny problem.. utworzyłem scrypt bash który wykonuje jakieś prace na serwerze i odpala comende z symfony.
odpalenie głónego pliku: /[path]/asari.sh
w tym pliku odpalenie comendy symfony: php $START_DIR/bin/console pww24:import asari
jak wywoluje te akcje z konsoli na serwerze to wszystko ładnie działa i śmiga
natomiast po ustawieniu corna scrypt bash nadal jest wykonywany i przechodzi caly jednakże comenda symfony nie jest już odpalana.
i tutaj moje pytanie... co robie nie tak??
dodam jeszcze ze crontab został utworzony jako root (crontab -u root -e), sam cron: 30 /var/www/pww24/bin/asari.sh

Może ma ktoś pomysł. Wydaje mi się, że wszystkie najważniejsze tematy zapisałem ale może jeszcze jakaś informacja jest kluczowa??

Pozostało 580 znaków

2018-12-29 18:01
0
Daniel123123 napisał(a):

Witam,
mam dziwny problem.. utworzyłem scrypt bash który wykonuje jakieś prace na serwerze i odpala comende z symfony.
odpalenie głónego pliku: /[path]/asari.sh
w tym pliku odpalenie comendy symfony: php $START_DIR/bin/console pww24:import asari
jak wywoluje te akcje z konsoli na serwerze to wszystko ładnie działa i śmiga
natomiast po ustawieniu corna scrypt bash nadal jest wykonywany i przechodzi caly jednakże comenda symfony nie jest już odpalana.
i tutaj moje pytanie... co robie nie tak??
dodam jeszcze ze crontab został utworzony jako root (crontab -u root -e), sam cron: 30 /var/www/pww24/bin/asari.sh

Może ma ktoś pomysł. Wydaje mi się, że wszystkie najważniejsze tematy zapisałem ale może jeszcze jakaś informacja jest kluczowa??

Co masz w logach? journalctl -u cron

Pozostało 580 znaków

2018-12-29 19:56
0

Co masz w logach? journalctl -u cron

Nov 29 09:09:01 danielllll CRON[1458]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 29 09:09:01 danielllll CRON[1466]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Nov 29 09:09:01 danielllll CRON[1458]: pam_unix(cron:session): session closed for user root
Nov 29 09:17:01 danielllll CRON[1591]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 29 09:17:01 danielllll CRON[1592]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Nov 29 09:17:01 danielllll CRON[1591]: pam_unix(cron:session): session closed for user root
Nov 29 09:39:01 danielllll CRON[1761]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 29 09:39:01 danielllll CRON[1761]: pam_unix(cron:session): session closed for user root
Nov 29 10:09:01 danielllll CRON[1869]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 29 10:09:01 danielllll CRON[1870]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Nov 29 10:09:01 danielllll CRON[1869]: pam_unix(cron:session): session closed for user root
Nov 29 10:17:01 danielllll CRON[1952]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 29 10:17:01 danielllll CRON[1952]: pam_unix(cron:session): session closed for user root
itd..

natomiast w spisie cronow dla usera root mam pokazane ze normalnie odpala polecenie

W tym logu nie widać, aby asari.sh startowało, pokaż crontab -u root -l - TurkucPodjadek 2018-12-29 20:13

Pozostało 580 znaków

2018-12-29 21:41
0

w komendzie o która prosiles:

30 /var/www/pww24/bin/asari.sh (wycina gwizdki na forum)

natomiast na liscie logow dla roota:

Dec 29 18:30:01 danielllll CRON[12813]: (root) CMD (/var/www/pww24/bin/asari.sh)
Dec 29 18:30:02 danielllll CRON[12812]: (CRON) info (No MTA installed, discardin g output)
Dec 29 18:39:01 danielllll CRON[13634]: (root) CMD ( [ -x /usr/lib/php/sessionc lean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Dec 29 19:09:01 danielllll CRON[15510]: (root) CMD ( [ -x /usr/lib/php/sessionc lean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Dec 29 19:17:01 danielllll CRON[16020]: (root) CMD ( cd / && run-parts --repor t /etc/cron.hourly)
Dec 29 19:30:01 danielllll CRON[16556]: (root) CMD (/var/www/pww24/bin/asari.sh)
Dec 29 19:30:25 danielllll CRON[16554]: (CRON) info (No MTA installed, discardin g output)
Dec 29 19:39:01 danielllll CRON[17316]: (root) CMD ( [ -x /usr/lib/php/sessionc lean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Dec 29 20:09:01 danielllll CRON[18478]: (root) CMD ( [ -x /usr/lib/php/sessionc lean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Dec 29 20:17:01 danielllll CRON[18819]: (root) CMD ( cd / && run-parts --repor t /etc/cron.hourly)
Dec 29 20:30:01 danielllll CRON[19671]: (root) CMD (/var/www/pww24/bin/asari.sh)
Dec 29 20:30:02 danielllll CRON[19670]: (CRON) info (No MTA installed, discardin g output)
Dec 29 20:39:01 danielllll CRON[20600]: (root) CMD ( [ -x /usr/lib/php/sessionc lean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Dec 29 21:09:01 danielllll CRON[21920]: (root) CMD ( [ -x /usr/lib/php/sessionc lean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Dec 29 21:17:01 danielllll CRON[22359]: (root) CMD ( cd / && run-parts --repor t /etc/cron.hourly)
Dec 29 21:30:01 danielllll CRON[22995]: (root) CMD (/var/www/pww24/bin/asari.sh)
Dec 29 21:30:24 danielllll CRON[22990]: (CRON) info (No MTA installed, discardin

generalnie wiem ze na 100% scrypt asari.sh jest wykonuwany bo wykonuje prace jakie ma do wykonania (np przerzuca zdjecia) natomiat nie wykonuje wywowalania komendy z symfony bo w bazie nie mam zmian.

edytowany 1x, ostatnio: Daniel123123, 2018-12-29 21:43

Pozostało 580 znaków

2019-01-04 14:26
0

UPDATE

udało mi sie wywołać poprawnie pliki php. Zamiast php .. trzeba było podać mu dokładną ścieżkę oraz rozszerzenie -> /usr/bin/php -q

Niestety problem jest cały czas z odpaleniem komendy z symfony w pliku bash: /usr/bin/php -q /var/www/pww24/bin/console pww24:import asari $office > /dev/null

Może ktoś jeszcze na coś wpadnie..

Pozostało 580 znaków

2019-01-06 23:38

[ROZWIĄZANIE]

rozwiązanie tego problemu okazało się bardzo proste (może komuś się to przyda więc się podzielę):
projekt w symfony korzysta z ustawionych przeze mnie zmiennych systemowych typu APP_ENV=prod
APP_SECRET=... itd które dodałem bezpośrednio na serwerze lub przy konfiguracji continuous integration. Po utworzeniu się projektu powstaje dodatkowy plik .env.dist Odpalając projekt przez www albo uruchamiając comendy przez konsole system widzi te zmienne i wszystko gra. Niestety w chwili odwołania się przez Crona zmienne te są gubione. Aby wszystko było poprawnie należy utworzyć nowy plik .env i wrzucić do niego te zmienne (.env.dist jest pomijany).

Co do samego wywoływania crona to dodałem dwie rzeczy na górze pliku
PATH=~/bin:/usr/bin/:/bin
SHELL=/bin/bash

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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