Не могу заставить cronjob работать node.js файл

0

Вопрос

Я очень не решался публиковать здесь, так как этот вопрос был задан тонной, но я перепробовал почти все, что нашел в Интернете за последние 2 дня. Я нахожусь на своей первой неделе использования Linux, и это была дикая поездка. (Ubuntu 20.04 LTS)

Поэтому я создал приложение node, которое открывает браузер -> вход в веб-приложение нашей компании и автоматически записывает мои рабочие часы, я хочу запустить его при перезагрузке компьютера, так как я отмечаю свои часы, когда возвращаюсь домой. Таким образом, я не забуду пометить их. (примечание: я также пытался запускать его каждую минуту или в следующую минуту, просто чтобы убедиться, что это не связано с командой @reboot)

Вот некоторые из различных вариантов, которые я пробовал. Не могу толком вспомнить все с тех пор, как я пытался, сейчас я верю в более чем 100 различных вариантов. Также в приведенных ниже кодах я также пробовал использовать либо полные пути, либо просто ex. bin/узел и т. Д.

@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

какой узел дает: /usr/local/bin/node

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

Лучший ответ

0
  1. Сначала проверьте, где находится ваш двоичный файл узла с помощью

    $ whereis node

    и используйте этот путь только в cronjob.

  2. Чтобы решить любую задачу cronjob, первое, что вам нужно сделать, это перенаправить stdout и stderr в файл журнала.

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

    Таким образом, вы поймете, есть ли какие-либо проблемы с библиотекой или путем.

  3. Если вы все еще сталкиваетесь с этой проблемой, просто добавьте следующие строки в свою кронтаб

    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
    

    В BASH_ENV вместо пользователя добавьте свое имя пользователя, проверьте по whoami

    Примечание: Запись ОБОЛОЧКИ и ПУТИ можно найти по echo $SHELL и echo $PATH соответственно.

Также сначала добавьте cron с временной базой, чтобы проверить, работает ли он, а затем добавьте cronjob для сценариев перезагрузки.

2021-11-22 17:18:56

На других языках

Эта страница на других языках

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