#!/bin/bash
# Скрипт упаковывает txt-файлы и отсылает их на почту
# Нужен пакет sendemail и почтовый сервер, позволяющий отсылать почту
cityname='new_york'
txtdir="/var/log/asterisk"
email_from="my@supermail.com"
email_to="my_other@supermail.com"
curdir="$(dirname $(readlink -f $0))"
tmpdir="$curdir/tmp"
curdate="$(date +%d-%m-%Y)"
arcname="$curdir/$cityname-$curdate.tgz"
arcname_google="$curdir/$cityname-$curdate.bin"
# проверим, есть ли исходная папка с текстовиками
if [ ! -d "$txtdir" ]; then
echo 'Source directory doesnt exist!'
exit 1
fi
# проверим есть ли в ней текстовые файлы
if test -z "$(find "$txtdir" -maxdepth 1 -name '*.txt' -print -quit)"; then
echo 'No text files found, exit'
exit 1
fi
# если есть временная папка - удалим её и создадим пустую
if [ -d "$tmpdir" ]; then
rm -rf "$tmpdir"
fi
mkdir -p "$tmpdir"
# найдём все txt, сделаем хардлинки и удалим исходные
find "$txtdir" -maxdepth 1 -type f -name '*.txt' \
-exec sh -c 'ln "$1" "'$tmpdir'/$(basename $1)"; rm -f "$1"' _ {} \;
# начнём писать новые, пока не поздно =)
/etc/init.d/asterisk reload > /dev/null 2>&1
# создадим архив
find "$tmpdir" -maxdepth 1 -name '*.txt' -printf '%P\0' | tar --null -C "$tmpdir" --files-from=- -czf "$arcname_google"
# отошлём по почте созданный архив
sendemail \
-s smtp.mega.mail:25 \
-f $email_from \
-t $email_to \
-m "Rename attachment to $(basename $arcname) and unpack =)" \
-u "$cityname asterisk info ($curdate)" \
-a "$arcname_google" > /dev/null 2>&1
# удалим файлы, но оставим архив на всякий случай
rm -rf "$tmpdir"
# Скрипт упаковывает txt-файлы и отсылает их на почту
# Нужен пакет sendemail и почтовый сервер, позволяющий отсылать почту
cityname='new_york'
txtdir="/var/log/asterisk"
email_from="my@supermail.com"
email_to="my_other@supermail.com"
curdir="$(dirname $(readlink -f $0))"
tmpdir="$curdir/tmp"
curdate="$(date +%d-%m-%Y)"
arcname="$curdir/$cityname-$curdate.tgz"
arcname_google="$curdir/$cityname-$curdate.bin"
# проверим, есть ли исходная папка с текстовиками
if [ ! -d "$txtdir" ]; then
echo 'Source directory doesnt exist!'
exit 1
fi
# проверим есть ли в ней текстовые файлы
if test -z "$(find "$txtdir" -maxdepth 1 -name '*.txt' -print -quit)"; then
echo 'No text files found, exit'
exit 1
fi
# если есть временная папка - удалим её и создадим пустую
if [ -d "$tmpdir" ]; then
rm -rf "$tmpdir"
fi
mkdir -p "$tmpdir"
# найдём все txt, сделаем хардлинки и удалим исходные
find "$txtdir" -maxdepth 1 -type f -name '*.txt' \
-exec sh -c 'ln "$1" "'$tmpdir'/$(basename $1)"; rm -f "$1"' _ {} \;
# начнём писать новые, пока не поздно =)
/etc/init.d/asterisk reload > /dev/null 2>&1
# создадим архив
find "$tmpdir" -maxdepth 1 -name '*.txt' -printf '%P\0' | tar --null -C "$tmpdir" --files-from=- -czf "$arcname_google"
# отошлём по почте созданный архив
sendemail \
-s smtp.mega.mail:25 \
-f $email_from \
-t $email_to \
-m "Rename attachment to $(basename $arcname) and unpack =)" \
-u "$cityname asterisk info ($curdate)" \
-a "$arcname_google" > /dev/null 2>&1
# удалим файлы, но оставим архив на всякий случай
rm -rf "$tmpdir"
Комментариев нет:
Отправить комментарий