• 締切済み

ラズベリーパイで指定時間にファイル実行について

Linux未経験でラズベリーパイでradikoというラジオを指定時間に自動再生させようとしていますが上手くいきません。 作ったファイルが radiko_stream.shで中身が #!/bin/bash STREAM_URL="http://radiko.jp/#!/live/RN2" streamlink --player mpv $STREAM_URL best この後に実行できるように chmod +x radiko_stream.sh をしています。 次に時間指定するために crontab –e の後に一番下に 3 9 * * * /home/pi/radiko_stream.sh を追記しています。 しかし、指定時間に実行されません。 radiko_stream.shは手動で実行するとラジオが再生されることは確認済みですが、 なぜか自動実行は出来ません。 インターネットやChatGPTなどでも調べましたが まったく駄目でした。 何がいけないのか分かりません。 分かる方お手数ですがご教授お願い致します。 バージョン RaspberryPI 4

みんなの回答

noname#263248
noname#263248
回答No.4

このスクリプトではないものはcronで動作してますかね? 例えばコピーだけするスクリプトなんかを使って、動作の確認をするとか 一番簡単なのはloggerでsyslogに出すとか 補足お願いします

sstkazu
質問者

補足

お世話になります。 crontabには 3 9 * * * /home/pi/radiko_stream.sh を記載しています。 crontab -l で確認して記載はあります。 ネットで調べたのですが/var/log/syslogにログが残るみたいなこと書かれているのですが ログがありません。 例えば、 tail -f /var/log/syslog を実行するとファイルがないと返ってきました。 フォルダを確認しましたがありませんでした。 これも何か影響していますでしょうか? 素人でご迷惑をおかけしています。 ラズベリーパイ(Linux)での操作は初めてでいろいろと戸惑っています。 会社の上司の命令なのでどうにか解決したいといろいろ調べながら作業しています。 手動ではradiko_stream.shが実行されるので 今は手動で実行させています。 これを自動実行出来れば放置可能になるので やりたいと思っています。 いろいろとありがとうございます。

noname#263248
noname#263248
回答No.3

#1 ごめんなさい間違えた chmod 777 /path/to/scrpt/streamlink  ↑ではなく chmod 777 radiko_stream.sh でやってください 実行するにはradiko_stream.shのあるディレクトリでrootで。

sstkazu
質問者

補足

chmod 777 radiko_stream.shで入力後 ls -l で確認しました。全てONになっています。 本日は試せないのでまた明日結果をお伝えします。

noname#263248
noname#263248
回答No.2

補足を拝見しました 変更できる権限のあるユーザーで操作してください ネットに公開するわけではない、練習であるならばrootユーザーでやってもよいと思います

sstkazu
質問者

補足

/usr/bin/streamlink --player mpv $STREAM_URL best に変更したら手動での実行も出来なくなった。 いったい何が原因で自動起動できないのか分からない。 提案 現在ラズベリーパイには電源コードにタイマーを仕掛けています。毎日夜に自動シャットダウンさせてタイマーで完全OFFにしています。 その逆で朝に通電して起動という仕組み作っていますが起動時に実行もできません。 これもインターネットなどで調べましたが、どれをやっても駄目でした。 何かいい方法はないでしょうか?

noname#263248
noname#263248
回答No.1

PATHと実行権限が気になります (1) streamlink はインストールされているパスから書いてみてください パスは which streamlink で調べられると思います なので  /usr/bin/streamlink --player mpv $STREAM_URL best みたいな感じ (2) 実行権限を付与していますが、どのユーザでしましたか? とりあえず練習なら  chmod 777 /path/to/scrpt/streamlink みたいな感じ(PATHは適宜に直して)で試してみてください ネット上で運用する場合は実行権限についてはよく調べて設定してみてください

sstkazu
質問者

補足

(1) 調べて下記のように修正しました /usr/bin/streamlink --player mpv $STREAM_URL best (2) chmod 777 /usr/bin/streamlink と入力すると「パーミッションを変更しています 許可していない操作です」になる

関連するQ&A

専門家に質問してみよう