特定のフォルダー内の新しいファイルを監視する自動字幕ダウンローダーをしばらく探していたところ、Python ベースの CLIサブリミナルを見つけました(このツールを知らない場合は、このツールは本当に素晴らしいです)。次のステップは、指定されたディレクトリに新しい映画/テレビ番組があるたびにトリガーすることでした。そのため、inotify cron システムであるincronを選びました。
それ以来、私はそれを機能させようとしてきましたが、悲しいことにまったくチャンスがありませんでした。これが私の構成です:
incron.allow:
root@localhost:/home/marco/Téléchargements# more /etc/incron.allow
marco
root
incrontab:
root@localhost:/home/marco/Téléchargements# incrontab -e
/home/marco/Téléchargements IN_CREATE,IN_MOVED_TO /home/marco/Téléchargements/series $#
スクリプト シリーズ:
root@localhost:/home/marco/Téléchargements# more series
#!/bin/bash
logger "argument is "$1
/usr/bin/python /usr/local/bin/subliminal -l en -q -s -- $1
シスログ:
root@localhost:/home/marco/Téléchargements# tail /var/log/syslog
Jan 22 12:10:25 localhost incrond[3140]: (root) CMD (/home/marco/Téléchargements/series the.blacklist.112.hdtv-lol.mp4)
Jan 22 12:10:25 localhost logger: argument is the.blacklist.112.hdtv-lol.mp4
ご覧のとおり、incron ジョブは期待どおりに実行されています。引数は必要に応じて与えられますが、「Téléchargement」フォルダーを確認すると、中には何もありません。同じ引数を使用して CLI からスクリプトを実行すると、ジョブが実行されます。
現在のフォルダーがTéléchargementsではないため、ファイルがこのフォルダーにない可能性があると思いましたが、サブリミナル引数を使用して適切なフォルダーに移動すると、フォルダー-d /path/to/Téléchargements
にはまだ何もありません。
注2、/usr/bin/python
スクリプトで削除しようとしましたが、何も変わりません。
どんな助けでも本当に素晴らしいでしょう。
編集: 私はdebian wheezyを使用しています:
root@localhost:/home/marco/Téléchargements# uname -a
Linux localhost 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
編集2:
いくつかのコメントに続いて、cmd パスをサービス スクリプトに追加し-q
、--log-file
. シリーズの新しいスクリプトは次のとおりです。
#!/bin/bash
export PATH=$PATH:/usr/local/sbin:/usr/local/bin
/usr/local/bin/subliminal -l en -d /tmp --log-file /tmp/log -s -- $1
cmd からスクリプトを実行すると、期待どおりに動作し、/tmp/log のファイルを読み取ることで確認できます。
root@localhost:/home/marco/Téléchargements# more /tmp/log
2014-01-22 15:06:58,526 INFO: Listing subtitles for <Episode [u'the blacklist', 1x12]>
2014-01-22 15:07:04,839 INFO: Found 8 subtitles total
2014-01-22 15:07:04,950 INFO: Downloading subtitle <OpenSubtitlesSubtitle [en]> with score 71
2014-01-22 15:07:05,885 INFO: Saving <OpenSubtitlesSubtitle [en]> to u'/tmp/the.blacklist.112.hdtv-lol.srt'
incron タスクを実行しても何も起こりません。/tmp/log ファイルもありません。