.sh文件内容例如musicformat.sh文件
?#!/bin/sh? ?ps -fe|grep run_format_process.php |grep -v grep ?if [ $? -ne 0 ] ?then ?? ? php /home/wwwroot/handleformatmusic/run_format_process.php ?else ?? ? echo "runing....." ?fi
run_format_process.php文件内容
<?php require 'php-sdk/autoload.php'; use Qiniu\Auth; use Qiniu\Storage\UploadManager; $accessKey = 'EsmnzabqcE4NVh77MZ7HgzZse77Lg5AjrvaAST-k'; $secretKey = 'xkY-fN4bqtH4-3V4DAH_d51XWAuolUQPTei_ZbzD'; $mysqli = mysqli_connect('rm-4mdthodg.mysql.rds.aliyuncs.com','root','vfineRoot','broad'); // $sql_find_music='SELECT id,excel_import,file_url,UUID,center_id FROM vf_music where UUID!="" and file_url!="" and file_url like "%wav"'; $sql_find_music='SELECT id,excel_import,file_url,UUID,center_id FROM vf_music where UUID!="" and file_url!="" and file_url like "%wav" and id=737'; $result_music = $mysqli->query($sql_find_music); $one_res=array(); if($result_music!=null){ ?? ?$one_res=mysqli_fetch_assoc($result_music); } if(!empty($one_res)){ ?? ?$id=$one_res['id']; ?? ?$file_url=$one_res['file_url']; ?? ?$UUID=$one_res['UUID']; ?? ?$old_save_path='/home/wwwroot/handleformatmusic/oldmusic/';//原音乐保存项目目录 ?? ?$new_save_path='/home/wwwroot/handleformatmusic/newmusic/';//格式转换后音乐保存项目目录 ?? ?$fileName =$id.'.wav'; ?? ?$fileNewName =$id.'.mp3'; ?? ?download($file_url,$old_save_path.$fileName); ?? ?$re=file_exists($old_save_path.$fileName); ?? ?if($re==0){ ?? ??? ?echo '音乐id:'.$id.'下载原文件失败';die; ?? ?}else{ ?? ??? ?//将wav格式转换为mp3格式 ?? ??? ?// $cmd="ffmpeg -i {$old_save_path}{$fileName} {$new_save_path}{$fileNewName}"; ?? ??? ?$cmd="ffmpeg -i {$old_save_path}{$fileName} -acodec libmp3lame {$new_save_path}{$fileNewName}"; ?? ??? ?$commandOutput = shell_exec($cmd); ? ? ? ? // $commandOutput =exec($cmd); ?? ??? ?echo '格式转换后结果'; ?? ??? ?var_dump($commandOutput);die; ?? ??? ?if(empty($commandOutput)){ ?? ??? ??? ?//格式转换成功 ?? ??? ??? ?//删除原音乐文件 ?? ??? ??? ?unlink($old_save_path.$fileName); ?? ??? ??? ? // 初始化签权对象 ? ? ? ? ? ? ? ? $auth = new Auth($accessKey, $secretKey); ? ? ? ? ? ? ? ? $bucket='broad'; ? ? ? ? ? ? ? ? $qiniuUploadToken=$auth->uploadToken($bucket); ? ? ? ? ? ? ? ? $uploadManager=new UploadManager(); ? ? ? ? ? ? ? ? $res=$uploadManager->putFile($qiniuUploadToken,$fileNewName,$new_save_path.$fileNewName); ? ? ? ? ? ? ? ? if(empty($res)){ ? ? ? ? ? ? ? ? ?? ?//上传七牛失败 ? ? ? ? ? ? ? ? ?? ??? ??? ??? ?$time=time(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $desc='上传七牛失败'; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $sql_insert_fail = "INSERT into vf_music_fail(`music_id`,`created_at`,`desc`) values('{$id}','{$time}','{$desc}')"; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $insertRes=$mysqli->query($sql_insert_fail); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $mysqli->query($sql_insert_fail); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo '音乐id:'.$id.'上传七牛失败'; ? ? ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? ?? ?//删除转换后文件 ? ? ? ? ? ? ? ? ?? ?unlink($new_save_path.$fileNewName); ? ? ? ? ? ? ? ? ?? ?$file_host ='https://brofile.vfinemusic.com/'; ? ? ? ? ? ? ? ? ? ? $format_url=$file_host.$fileNewName; ? ? ? ? ? ? ? ? ? ? // $sql_up_music="UPDATE `vf_music` SET `file_url` = '{$format_url}', `format_url` ='{$file_url}' WHERE `id` ='{$id}'"; ? ? ? ? ? ? ? ? ? ? $sql_up_music="UPDATE `vf_music` SET `format_url` = '{$format_url}' WHERE `id` ='{$id}'"; ? ? ? ? ? ? ? ? ? ? $upRes=$mysqli->query($sql_up_music); ? ? ? ? ? ? ? ? ? ? if($upRes>0){ ? ? ? ? ? ? ? ? ? ? ?? ?echo '音乐id:'.$id.'记录成功'; ? ? ? ? ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? ? ? ?? ?echo '音乐id:'.$id.'记录失败'; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ?? ??? ?} ?? ?} }else{ ?? ?echo '暂无需要转换的音乐';die; }
/** ? ? ?* @param $url ? ? ?* @param $filename ? ? ?* @param int $timeout ? ? ?*/
? ? function download($url,$filename,$timeout = 180) ? ? { ? ? ? ? $curl = curl_init(); ? ? ? ? curl_setopt($curl, CURLOPT_URL, $url); ? ? ? ? $fp = fopen ($filename, 'w+');
? ? ? ? $options = [ ? ? ? ? ? ? CURLOPT_FOLLOWLOCATION => 1, ? //使用自动跳转 ? ? ? ? ? ? CURLOPT_TIMEOUT ? ? ? ?=> $timeout, ?//超时 ? ? ? ? ? ? CURLOPT_HEADER ? ? ? ? => 0, ? ? ? ? ? ? CURLOPT_NOBODY ? ? ? ? => 0, ? ? ? ? ];
? ? ? ? curl_setopt($curl, CURLOPT_FILE, $fp); ? ? ? ? curl_setopt_array($curl,$options);
? ? ? ? curl_exec($curl); ? ? ? ? curl_close($curl); ? ? ? ? fclose($fp);
? ? }
?>
定时任务crontab -e增加musicformat.sh脚本每分钟执行一次
* * * * * su - root -c "(cd /home/wwwroot/handleformatmusic/;sh -x musicformat.sh)" >> /dev/null 2>&1
|