我有 cronjob 每天在特定时间运行脚本。该脚本用于转换特定文件夹中的大文件(约 2GB)。问题是我同事不是每天都把文件放在文件夹之前的时间,写成cronjob。
请帮助我在脚本中添加命令或编写第二个脚本:
- 检查文件是否存在于文件夹中。
- 如果上一个操作为真,则每分钟检查一次文件大小。(我想避免转换仍然传入的大文件)。
- 如果文件大小在 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++"