系统ubuntu
crontab -e 添加计划任务

*/1 * * * * sh /softwares/shellrun/CreateM3u8.sh  > /tmp/m3u8.log 2>&1 &
#每分钟执行一次CreateM3u8.sh,并把所有的日志写入到/tmp/m3u8.log文件中

CreateM3u8.sh

#!/bin/bash
set -x  #将执行结果显示出来

LOCKFILE="/tmp/m3u8_lock"#防止二次执行,单实例运行,互斥
if [ -f ${LOCKFILE} ]
  then
      echo "someon do the same thing"
      exit
   else
      touch ${LOCKFILE}
fi


Folder_A="/softwares/mp4"
Folder_D="/HLS/hls"
emptydir="/softwares/mp4/*"

for file_a in ${Folder_A}/*
do

ora_filename=`basename $file_a`
out_filename=`basename $file_a .mp4`

#if [ "${file_a}" != "/softwares/mp4/*" ];then


/usr/local/bin/ffmpeg -i $file_a -hls_time 10 -hls_list_size 0 -hls_segment_filename ${Folder_D}/${out_filename}_%05d.ts ${Folder_D}/${out_filename}.m3u8  #/usr/local/bin/ffmpeg路径需要写全,不然在计划任务里面无法识别
rm $file_a -rf
#fi
done


if [ -f ${LOCKFILE} ]; then
rm -rf ${LOCKFILE}
fi