Skrypt basha pakujący i wysyłający z poprzedniego dnia pliki na pocztę GMail

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
toldi_95
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 29 cze 2009, 15:16
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: Brak

Skrypt basha pakujący i wysyłający z poprzedniego dnia pliki na pocztę GMail

Post autor: toldi_95 »

Witam

Potrzebuję skrypt który będzie pakował pliki (np 2009_07_02_logSQL.sql), kopiował do katalogu usera /home/medivh i dodatkowo wysyłał plik jako załącznik na pocztę GMail terefere@gmail.com o podanej temacie "Wysłany plik 2009_07_02_logSQL.sql) i treści " Cześć, oto twoje plik itd..."

Pozdrawiam
Są rzeczy w Ubuntu o których nie śniło się waszym Windowsom
bacior
Sędziwy Jeż
Sędziwy Jeż
Posty: 48
Rejestracja: 18 lut 2008, 23:36
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: Skrypt basha pakujący i wysyłający z poprzedniego dnia pliki na pocztę GMail

Post autor: bacior »

Jezeli nie jest to twoja praca domowa (ze wzgledu na moje amatorstwo przy pisaniu skryptow), i wystarczy Ci bashowy,
to moge podeslac Ci ten, ktorego uzywam do wysylania kopii swojej magisterki na mejla :-D
Po niewielkim zmodyfikowaniu (jak np. zmiana tematu mejla) spelni twoje wymagania.

\\MrRobby:zawsze możesz się pochwalić to inni go podrasują :D

No dobra, Mr. Robby :D
Skrypt jest przygotowany do moich potrzeb - sprawdza sobie ktore rozdzialy byly modyfikowane w ciagu ostatniej doby,
odpowiednio je nazywa, kopiuje na pendraka i wysyla mailem.
Potrzebny jest odpowiednio skonfigurowany mutt: how-to na forum debiana
Echa sa po to, zeby ladnie wygladalo w konsoli :D
#!/bin/bash
cd ~/magisterka/zapisane

echo "--->" "Masz 10 sekund zeby wlozyc pendraka"
sleep 10 ;
echo
echo "--->" Wyszukuje pliki zmodyfikowane w ciagu ostatnich 24. godzin i zapisuje do pliku "lista"
echo
find -atime 0 | grep 1roz > 1lista
find -atime 0 | grep 2roz > 2lista
find -atime 0 | grep 3roz > 3lista

#wyciaga date w postaci dzien_miesiac_godzina potrzebna do nazwania pliku kopii
data=`date +%d"_"%B"_%H"-"%M" | awk '{print $1;}'`

echo
echo "--->" tworze archiwum z plików wylistowanych w pliku "lista"
echo
tar -T 1lista -czvf 1roz_$data.tar.gz ;
tar -T 2lista -czvf 2roz_$data.tar.gz
tar -T 3lista -czvf 3roz_$data.tar.gz

echo
echo "--->" usuwam plik lista
echo
rm *lista*

echo
echo "--->" usuwam puste archiwa
echo
pusty=`du -h *tar.gz | grep 4,0K | awk '{print $2}'`
rm $pusty

echo
echo "--->" montuje pendraka i kopiuje archiwa
echo
mount /dev/sdb

cp -v *1roz*tar.gz ~/magisterka/kopie-wyslanych/1roz
cp -v *2roz*tar.gz ~/magisterka/kopie-wyslanych/2roz
cp -v *3roz*tar.gz ~/magisterka/kopie-wyslanych/3roz

cp -v *1roz*tar.gz /pendrak/kopie-pracy/1roz
cp -v *2roz*tar.gz /pendrak/kopie-pracy/2roz
cp -v *3roz*tar.gz /pendrak/kopie-pracy/3roz


echo
echo "--->" sprawdzam, czy sie prawidłowo skopiowalo i odmontowuje pendraka
echo
ls /pendrak/kopie-pracy/*

umount /pendrak
echo
echo "--->" pendrak odmontowany
echo

echo
echo "--->" "wysylam kopie na mejla"
echo

warunki do wprowadzania odpowiedniego temtu do mejla

jedynka=`ls 1roz*tar.gz`
dwojka=`ls 2roz*tar.gz`
trojka=`ls 3roz*tar.gz`

#sprawdza czy istenieje dany plik. jesli istnieje, wysyla do mejlem
if [ -f 1roz*tar.gz ]; then
echo "--->" "wysylam plik"
ls 1roz*tar.gz ;
echo kopia-pracy | mutt -s $jedynka -a 1roz*tar.gz twoj_adres@e-mail
echo
echo "Wyslano kopie rozdzialu pierwszego"
echo
fi

if [ -f 2roz*tar.gz ]; then
echo "--->" "wysylam plik"
ls 2roz*tar.gz;
echo kopia-pracy | mutt -s $dwojka -a 2roz*tar.gz twoj_adres@e-mail
echo
echo "Wyslano kopie rozdzialu drugiego"
echo
fi

if [ -f 3roz*tar.gz ]; then
echo "--->" "wysylam plik"
ls 3roz*tar.gz;
echo kopia-pracy | mutt -s $trojka -a 3roz*tar.gz twoj_adres@e-mail

echo
echo "Wyslano kopie rozdzialu trzeciego"
echo
fi

echo
echo "--->" usuwam plik kopii
echo
rm ~/magisterka/zapisane/*roz*tar.gz
echo
echo "--->" posprzatane
echo
65XE
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 05 lip 2009, 14:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: Skrypt basha pakujący i wysyłający z poprzedniego dnia pliki na pocztę GMail

Post autor: 65XE »

bacior jeśli mógłbyś mi też podesłać na adres jannowak1979@gmail.com, to byłbym wdzięczny.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości