Beaglebone Black(Debian Buster)에 'crontab' 패키지를 설치하는 중 오류가 발생했습니다.

Beaglebone Black(Debian Buster)에 'crontab' 패키지를 설치하는 중 오류가 발생했습니다.

저는 BeagleBoard.org Debian Buster IoT Image 2020-04-06을 실행하는 Beaglebone Black Rev. C에서 시작 시 pythonscript를 자동으로 실행하는 프로젝트를 진행 중입니다.

이 튜토리얼의 첫 번째 부분을 따르려고 합니다(아래 단계에 대해 설명하겠습니다). https://www.engineersgarage.com/autorun-python-script-on-beaglebone-black-boot-part-14-15/

튜토리얼에서 제안하는 단계는 다음과 같습니다.

  1. PC를 통해 기계에 SSH로 접속
  2. 명령을 사용하여 crontab 설치sudo apt-get install crontab
  3. crontab을 열고 다음을 사용하여 편집하십시오.crontab –e
  4. 행 추가@reboot sudo python /PATH/TO/SCRIPT/PYTHONSCRIPT.py &

튜토리얼의 스크린샷을 보면 crontab이 Python 스크립트와 동일한 폴더에 설치되어야 하는 것처럼 보입니다.

다음 단계를 수행하려고 할 때 경험한 내용은 다음과 같습니다.

crontab을 설치하면 오류가 반환됩니다.

debian@beaglebone:/media/card$ cd /media/card/Tests
debian@beaglebone:/media/card/Tests$ sudo apt-get install crontab
[sudo] password for debian:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package crontab

etc 폴더에 crontab 파일이 있습니다. 설치된 응용 프로그램 목록을 사용할 때 apt list --installed목록에서 다음 줄을 찾습니다.

cron/oldstable,now 3.0pl1-134+deb10u1 armhf [installed]

cron또한 etc 폴더에서 작업을 생성 해야 할까요 ? 이렇게 하면 단점이 있나요?

내 프로젝트는 SD 카드의 폴더에 있지만 SD 카드에 쓸 수 있도록 설정했습니다. 이로 인해 작업이 복잡해 집니까?

(추가 정보가 필요한 경우 알려주시기 바랍니다. 기꺼이 그렇게 하겠습니다.)

답변1

먼저, 사용자가 비밀번호를 요구하므로 sudoin을 사용하면 cron비밀번호를 입력해야 하는데 이는 예시가 아닙니다. 그냥 실행하는 것이 더 좋습니다:

sudo su -

그런 다음

crontab -e

그리고 입력

@reboot python /PATH/TO/SCRIPT/PYTHONSCRIPT.py 

cron이미 설치되어 있다고 99.99% 확신하므로 설치할 필요가 없습니다 . 그렇지 않은 경우 위의 패키지 이름에 대한 참고 사항을 확인하세요.

스크립트 실행에 관해서는 python사용자 환경을 설정한 후 스크립트를 실행하는 것이 좋습니다. 샘플 스크립트( /PATH/TO/SCRIPT/runp.sh예:)를 생성하고 다음에서 실행하세요 cron.

. /home/debian/.bashrc #or whatever is the path to your user
python /PATH/TO/SCRIPT/PYTHONSCRIPT.py 

스크립트를 실행 가능하게 만들고 cron다음을 추가합니다.

@reboot  /PATH/TO/SCRIPT/runp.sh

그런데 스크립트는 cron에서 (스크립트의) 끝까지 실행되므로 배경에 추가할 필요가 없습니다.

또 다른 요점:SD 카드를 운영 저장용으로 사용하지 마세요., 그들은 신뢰할 수 없습니다.

관련 정보