Nie mogę zmusić cronjob pracować node.js plik

0

Pytanie

Ja bardzo nie odważył się publikować tu, tak jak to pytanie zostało postawione ogromną ilością, ale próbowałem prawie wszystko, co znalazłem w Internecie w ciągu ostatnich 2 dni. Jestem na swoim pierwszym tygodniu użytkowania Linuksa, i to była dzika podróż. (Ubuntu 20.04 LTS)

Dlatego stworzyłem aplikację node, która otwiera przeglądarkę -> zaloguj się w aplikacji internetowej naszej firmy i automatycznie zapisuje moje godziny pracy, chcę go uruchomić po ponownym uruchomieniu komputera, tak jak ja obchodzę swoje godziny, kiedy wracam do domu. W ten sposób, ja nie zapomnę oznaczyć je. (uwaga: ja również próbowałem uruchomić go co minutę lub w następnej chwili, tylko po to, aby upewnić się, że nie jest to związane z zespołem @reboot)

Oto niektóre z różnych opcji, które próbowałem. Nie mogę nawet sobie przypomnieć wszystko, odkąd próbowałem, teraz wierzę w ponad 100 różnych opcji. Również w następujących kodach ja również próbowałem użyć pełnej ścieżki, albo po prostu ex. bin/węzeł itp.

@reboot cd /home/sepi/Documents/MyProjects/eas_app && /usr/local/bin/node index.js

@reboot usr/local/bin/node /home/sepi/Documents/MyProjects/eas_app/index.js

@reboot /bin/node /home/sepi/Documents/MyProjects/eas_app/index.js

jaki węzeł daje: /usr/local/bin/node

automation bash cron linux
2021-11-22 16:49:19
1

Najlepsza odpowiedź

0
  1. Najpierw sprawdź, gdzie jest twój plik binarny węzła za pomocą

    $ whereis node

    i w ten sposób tylko w cronjob.

  2. Aby rozwiązać każde zadanie cronjob, pierwszą rzeczą, którą musisz zrobić, to przekierować stdout i stderr do pliku dziennika.

    @reboot /bin/node /home/sepi/Documents/MyProjects/eas_app/index.js > out.log 2>&1

    W ten sposób przekonasz się, czy są jakieś problemy z biblioteką lub poprzez.

  3. Jeśli jeszcze do czynienia z tym problemem, po prostu dodaj następujące wiersze w swoje crontab

    SHELL=/bin/bash
    BASH_ENV="/home/user/.bashrc" 
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    

    W BASH_ENV zamiast użytkownika dodaj swoją nazwę użytkownika, sprawdź na whoami

    Uwaga: Wpis POWŁOKI i DRODZE można znaleźć na echo $SHELL i echo $PATH odpowiednio.

Również należy je najpierw dodać do crona z tymczasowej bazy, aby sprawdzić, czy działa, a następnie dodaj cronjob dla skryptów ponownym uruchomieniu.

2021-11-22 17:18:56

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................