何らかの理由でwatch-dir
送信機能が機能しません(見つかった「解決策」のいくつかを試しましたが、何も機能しませんでした)。だから私はこれを提供するためのスクリプトを自分で作成しました(毎時間実行されるスクリプトにこれを入れたので、crontab
すべての項目へのフルパスを追加する必要があります)。
#!/bin/bash
prefix='/home/user'
folder=$prefix'/path/to/watched/dir'
cd $folder
count=$(ls -1 *.torrent 2>/dev/null | wc -l)
if [ $count != 0 ];then
echo $count torrents files found
for torrent in '*.torrent'; do
echo adding $torrent
transmission-remote -n 'transmission:transmission' -a $folder/"$torrent"
rm $folder/$torrent
done
else
echo no torrents found
fi
このスクリプトから得たのは、トレントファイルが1つしかないと機能することです。ただし、2つ以上の場合、そのうちの1つだけが追加され、すべて削除され、行にすべてのecho adding $torrent
シードが表示されます。
私は何が間違っていましたか?
ベストアンサー1
この行は疑わしい
for torrent in '*.torrent'; do
ファイルのリストに展開されませんでした。引用符で囲みます。。使用するたびに展開されますが、$torrent
すべてのファイルがすぐに送信されます。
この行を次のように書き直してください。
for torrent in *.torrent; do
を使用することをお勧めしますnullglob
。forループグローブ事故。
また、inotify-wait
ディレクトリにファイルが作成されたときにシェルスクリプトをトリガーするためにも使用できます。