毎日特定の時間にスクリプトを実行するcronjobがあります。このスクリプトは、特定のフォルダーにある大きなファイル(約2GB)を変換するためのものです。問題は、私の同僚がcronjobとして記述されたファイルを時間の前にフォルダーに置いたわけではないということです。
スクリプトにコマンドを追加したり、次の2番目のスクリプトを記述したりするのを手伝ってください。
- ファイルがフォルダに存在するかどうかを確認してください。
- 前のアクションが当てはまる場合は、ファイルサイズを毎分確認してください。(まだ入ってくる大きなファイルの変換は避けたいです)。
- ファイルサイズが2分間変わらない場合は、変換用のスクリプトを開始します。
これまでのスクリプトの重要な行を紹介します。
cd /path-to-folder
for $i in *.mpg; do avconv -i "$i" "out-$i.mp4" ; done
ヘルプのための10倍!
コメント後の新しいコード:
フォルダにファイルがあります!
#! /bin/bash
cdate=$(date +%Y%m%d)
dump="/path/folder1"
base=$(ls "$dump")
if [ -n "$file"]
then
file="$dump/$base"
size=$(stat -c '%s' "$file")
count=0
while sleep 10
do
size0=$(stat -c '%s' "$file")
if [ $size=$size0 ]
then $((count++))
count=0
fi
if [ $count = 2 ]
then break
fi
done
# file has been stable for two minutes. Start conversion.
CONVERSION CODE
fi
ターミナルのメッセージ:たぶんエラー???
script.sh: 17: script.sh: arithmetic expression: expecting primary: "count++"