Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Bash, Shell, PHP, Python, Perl, CGI
breiteseite
Posts: 14
Joined: 2007-03-22 12:34
Location: Nähe Chemnitz

Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by breiteseite »

Hallo,

ich habe leider keiner Erfahrung im Linux-Scripting-Bereich aber vielleicht könnt ihr mir ja weiterhelfen.

Ich habe zwei Benutzer/Ordner:
gs28960 -> /home/gs28960/
gs28961 -> /home/gs28961/

Ich möchte täglich um 3 Uhr nachts, dass der Inhalt des Ordners /svss/ aus /home/$USER$/pb/ in eine .tar.gz gepackt wird, danach der Inhalt des Ordner (nicht der Ordner selbst) gelöscht wird und das Archiv an XxX@googlemail.com gesendet wird.
der kleine tux
Posts: 97
Joined: 2005-10-29 04:12
Location: Planet Erde

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by der kleine tux »

Hallo BreiteSeite :-D

ca so mkdir /backup

Code: Select all

#!/bin/bash
DATUM=`date +%d-%m-%y`
BACKDIR=/backup

tar czvf $BACKDIR/backup_$DATUM.tar.gz /home/gs28960/ /home/gs28961/
if [ "$?" != 0 ]
   then
     echo "Fehler aufgetreten"
else
     mail -s"Backup" -r backup@domain.tld  XxX@googlemail.com < $BACKDIR/backup_$DATUM.tar.gz
fi
sleep 10 
if [ -e $BACKDIR/backup_*.tar.gz ]; then
    rm -i $BACKDIR/backup_*.tar.gz
fi
ist ungetestet sollte aber so funktionieren .......
wenn du ohne abfrage löschen willst dann rm -f
Gruß
breiteseite
Posts: 14
Joined: 2007-03-22 12:34
Location: Nähe Chemnitz

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by breiteseite »

Hallo kleiner Tux (so trifft man sich wieder),

das Script ist schonmal super, nur kommt bei mir kein Anhang an, sondern nur ziemliches Zeichenwirwarr.. also das wird nicht angehangen sondern direkt reingeschrieben.

Habe dein Script mal etwas geändert, da er bei -r meckerte...

Code: Select all

#!/bin/bash
DATUM=`date +%d-%m-%y`
BACKDIR=/backup

tar czvf $BACKDIR/backup_$DATUM.tar.gz /home/gs28960/pb/svss /home/gs28961/pb/svss
if [ "$?" != 0 ]
   then
     echo "Fehler aufgetreten"
else
     mail -s "Backup" -a "From: backups@ngz-server.de" XxX@googlemail.com < $BACKDIR/backup_$DATUM.tar.gz
fi
sleep 17
if [ -e $BACKDIR/backup_*.tar.gz ]; then
    rm -f $BACKDIR/backup_*.tar.gz
fi
Wie beheben wir nun das Problem?

P.S.: Schlimm wenn ich es unter root ausführe? :O
User avatar
daemotron
Administrator
Administrator
Posts: 2639
Joined: 2004-01-21 17:44

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by daemotron »

Man kann eine binäre Datei nicht einfach in einen Mailbody reinpappen - ziemliches ungemach, das. Bevor Binär-Dateien per Mail verschickt werden, muss man sie auf base64 umcodieren und in einen hübschen MIME-Envelope stecken. Außerdem lässt sich das Skript auf einen Einzeiler verkürzen:

Code: Select all

tar czvf - /home/gs28960/pb/svss /home/gs28961/pb/svss | uuenview -b -s "Betreffzeile" -m name@mailhost.de -
breiteseite
Posts: 14
Joined: 2007-03-22 12:34
Location: Nähe Chemnitz

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by breiteseite »

Auf uuenview bin ich mit Google auch schon gestoßen, aber wenn ich das ausführen möchte, meint der folgendes:

Code: Select all

-bash: uuenview: command not found
tar: Removing leading `/' from member names
/home/gs28960/pb/svss/
/home/gs28961/pb/svss/
/home/gs28961/pb/svss/pb000001.htm
/home/gs28961/pb/svss/pb000001.png
/home/gs28961/pb/svss/pb000002.htm
/home/gs28961/pb/svss/pb000002.png
User avatar
Joe User
Project Manager
Project Manager
Posts: 11173
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by Joe User »

Installiere das entsprechende Paket Deiner Distribution nach #-o
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
breiteseite
Posts: 14
Joined: 2007-03-22 12:34
Location: Nähe Chemnitz

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by breiteseite »

Code: Select all

R221148:~# aptitude install uuenview
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Couldn't find any package matching "uuenview".  However, the following
packages contain "uuenview" in their description:
  libconvert-uulib-perl
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
User avatar
Joe User
Project Manager
Project Manager
Posts: 11173
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by Joe User »

PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
daemotron
Administrator
Administrator
Posts: 2639
Joined: 2004-01-21 17:44

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by daemotron »

Unter Debian heißt das Paket "utils/uudeview". BTW. ein bisschen Eigeninitiative wäre schon angebracht... http://packages.debian.org/cgi-bin/sear ... &arch=i386

EDIT @Joe User: OK, hast gewonnen :wink: Musste nebenher noch Wäsche aufhängen...
User avatar
Joe User
Project Manager
Project Manager
Posts: 11173
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Kleines Script: Datein packen, per mail senden, ordner inhalt löschen.

Post by Joe User »

jfreund wrote:@Joe User: OK, hast gewonnen :wink: Musste nebenher noch Wäsche aufhängen...
Dafür hast Du auch mehr geschrieben und den vollständigen Searchlink gepostet ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.