分享一個實用的腳本,通過ftp協議傳輸asterisk生成的錄音到單獨的錄音存儲服務器上
通過系統cron來執行,將每天生成的錄音傳輸到單獨的錄音服務器上,該腳本是我一直在用的,在局域網內,每天傳輸幾萬的錄音,個把小時就可以搞定,希望對你有能所幫助
[plain]
#!/bin/bash
#2013/4/24 - Author: zhangtuo
#
[email protected]
#將cti服務器錄音上某一天的錄音傳到ftp服務器上,並記錄日志
#如果不傳參數,就表示上傳今天的錄音
#調用格式:
#傳當天的錄音 ./ftponeday.sh
#傳前一天的錄音 ./ftponeday.sh -1
#傳某一天的錄音 ./ftponeday.sh 20130423
USER=ftpuser2 #FTP 賬號
PASS=zhangtuo123 #FTP 密碼
HOST=192.168.2.247
source /root/.bash_profile
path_now=`pwd`
path_log=/var/log/ftp_log.txt
echo "============================================================================" >> $path_log
if [ -z "$1" ];then
path_day=`date +%Y%m%d`
elif [[ "$1"x = "-1"x ]]; then
path_day=`date -d '-1 days' +%Y%m%d`
else
path_day=$1
fi
d=`date +%Y-%m-%d_%H:%M:%S`
echo "==$d==$path_day==start============================" >> $path_log
path_all=/monitor/$path_day
if [ -d $path_all ];then
c=`ls -l $path_all |grep "^-" | wc -l `
echo "dir $path_day file count:$c" >> $path_log
cd $path_all
for filename in `ls`
do
ftp -nv $HOST <<!
quote USER $USER
quote PASS $PASS
prompt off
bin
cd $path_day
lcd $path_all
put $filename
close
!
done
else
echo "file $path_day bu cun zai" >> $path_log
fi
d=`date +%Y-%m-%d_%H:%M:%S`
echo "==$d==$path_day==end==============================" >> $path_log