현재 매일 특정 일정에 따라 웹캐스트 스트림을 재생하는 프로세스를 수정하고 있습니다.
몇 가지 조사 끝에 다음 Crontab 코드를 생각해 냈습니다.
00 22 * * * mplayer http://listen.acertainradio.com >/dev/null 2>&1
30 22 * * * pkill mplayer
그렇죠? 그리고 이부분도 궁금합니다 >/dev/null 2>&1
. 건너뛰면 어떻게 되나요?
답변1
/dev/null로의 리디렉션을 건너뛰면 해당 명령으로 생성된 모든 출력(pkill로 가정)이 시스템의 계정에 이메일로 전송됩니다("명령줄에서 읽기" 메일 "주문"을 사용할 수 있음).
어떤 환경 변수(예: PATH)가 설정되어 있는지 여부에 관계없이 사용된 모든 쉘이 해당 명령을 찾을 수 있도록 하기 위해 mplayer 및 pkill 명령에 전체 경로를 입력하는 것을 고려할 수도 있습니다.
답변2
방금 이것을 겪었습니다. 아마도 최선의 방법은 아닐 것입니다. 하지만 그게 전부입니다.
먼저 음악이 담긴 USB를 자동으로 마운트해야 합니다. /etc/fstab의 매직 라인은 다음과 같습니다: LABEL=Kiwa-Music /mnt/Music autolazytime,nofail, 1 1
그런 다음 crontab에서 다음 줄을 만들었습니다.
55 * * * * /home/pi/mplayerup
마지막으로 파일이 있습니다:
pi@kiwa-Audio:~ $ 고양이 mplayerup
세트-x
경로=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games Proc="mplayer"
수면 5
ps ax | grep -v grep $Proc | grep $Proc | grep grep -v mplayerup 1>/dev/null
만약 [ $? = 1 ];
then cd /mnt/Music/Music
/usr/bin/mplayer -shuffle -playlist 0-Playit.m3u 1>/dev/null 2>/dev/null
필리핀 제도
set -x 및 sleep 5는 주석 처리해야 합니다. 여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다.