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}
{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}