分享一个适用的脚本,通过ftp协议传输asterisk生成的录音到单独的录音存储服务器上
分享一个实用的脚本,通过ftp协议传输asterisk生成的录音到单独的录音存储服务器上
通过系统cron来执行,将每天生成的录音传输到单独的录音服务器上,该脚本是我一直在用的,在局域网内,每天传输几万的录音,个把小时就可以搞定,希望对你有能所帮助
#!/bin/bash #2013/4/24 - Author: zhangtuo #luckytuo@gmail.com #将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