Просмотр Исходного

h3. Пример скрипта выгрузки cdr файлов с asterisk
{code}
#!/bin/bash

set -eu

CDR_SRC_FILE='/var/log/asterisk/cdr-csv/Master.csv'
CDR_DST_DIR='/var/log/asterisk/cdr-csv-rotate/'
FTP_SERVER='46.19.46.169'
FTP_LOGIN='cdr_ftp'
FTP_PASSWORD='servicemode'
FTP_DIRECTORY='cdr'

cd "$CDR_DST_DIR"

[ ! -d "$CDR_DST_DIR" ] && mkdir $CDR_DST_DIR

if [ -f "$CDR_SRC_FILE" ]; then
DATE=`date +%Y%m%d%H%M%S`
mv $CDR_SRC_FILE $CDR_DST_DIR/cdr-${DATE}.csv
touch $CDR_SRC_FILE
fi

for f in $CDR_DST_DIR/cdr-*.csv; do
echo $f
f_name="${f##*/}"
ftp -v -n $FTP_SERVER <<End-Of-Session > /tmp/ftplog.$$
user $FTP_LOGIN "$FTP_PASSWORD"
binary
pass
cd $FTP_DIRECTORY
put "$f" "$f_name"
bye
End-Of-Session
if fgrep -q "226 Transfer complete" /tmp/ftplog.$$ ;then
echo "ftp OK"
mv $f ${f}.uploaded
fi
done

{code}