Toon posts:

script werkt niet?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik gebruik Red Hat 7.2 en heb hierop apache, mysql en php draaien. Ik heb een directory /usr/loacal/apache/htdocs/de-dir/ en hiervan wil ik iedere dag een backup maken. Het volgende heb ik gedaan:

in een console scherm crontab -e en het volgende script hierin gezet:

30 23 * * *
#!/bin/bash
SRCD="/usr/loacal/apache/htdocs/de-dir/"
TGTD="/home/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -cZf $TGTD$OF $SRCD


Dit werkt alleen niet? Ik ben hier nieuw mee, ik heb dit script uit een manual van bash gehaald. Wat gaat er fout? En is het ook mogelijk dit script zo te maken dat elke dag om 23:30 een mailtje naar mij gestuurd wordt met als attach deze backup? (is niet zo'n groot bestand +/- 400 kb).

Ik ken het mail commando (sendmail), maar zou niet weten hoe je hierbij een attach kan voegen en dit in kan stellen via een crontab...

  • Fatal-Error
  • Registratie: Juli 2001
  • Niet online
Het is iig aan te raden om het script in een apart bestand te zetten en in je crontab alleen dat bestand aan te roepen. Daarnaast moet het date commando + argumenten tussen backquotes (zoiets dus: `date +%Y%m%d`) staan, zonder ronde haakjes en dollarteken. Probeer anders het script gewoon uit, dan weet je wat er fout gaat.

Welcome to the desert of the real.


Verwijderd

verder staan er wat spelfouten in. Zoals /usr/loacal en ik zou ook tussen de argumenten van tar een spatie zetten. Zoals fatal-error al aangeeft. Zet het in een apart bestand en draai het een keer met de hand. Krijg je vanzelf foutmeldigen als het script niet werkt. Weet je ook of het aan crontab of aan het script ligt.

  • MyDyingBride
  • Registratie: November 2001
  • Laatst online: 19-04 20:18
Het dollarteken en de ronde haakjes is een alternatieve syntax voor backquotes.
Daar zal het dus niet aan liggen :)

Verwijderd

Topicstarter
Fatal-Error schreef op 12 september 2002 @ 23:58:
Het is iig aan te raden om het script in een apart bestand te zetten en in je crontab alleen dat bestand aan te roepen. Daarnaast moet het date commando + argumenten tussen backquotes (zoiets dus: `date +%Y%m%d`) staan, zonder ronde haakjes en dollarteken. Probeer anders het script gewoon uit, dan weet je wat er fout gaat.
En voor wat betreft de manier om de backup te mailen? Hebben jullie daar ook een oplossing voor? Bedankt voor de tips trouwens...

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:41
Aan het einde van je backup script een extra commando opnemen die het bestand vanaf zijn locatie naar je toe meelt -> man mail of man sendmail

Liege, liege, liegebeest!


Verwijderd

Topicstarter
cailin_coilleach schreef op 13 september 2002 @ 08:32:
Aan het einde van je backup script een extra commando opnemen die het bestand vanaf zijn locatie naar je toe meelt -> man mail of man sendmail
Ik heb de man pages bekeken en heb geen optie gevonden om een file mee te sturen via het mail commando, klopt dit??

Verwijderd

lol, heb dit ooit wel eens gemaakt. maar das perl, dus dat gaat niet werken in bash :D
voor de lekkere omweg.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my ($hostname, $line, $passwd, $pop, $username);
    $hostname = "mail.got.nl";
    use Net::Telnet ();
    $pop = new Net::Telnet (Telnetmode => 0);
    $pop->open(Host => $hostname,
               Port => 25);

    ## Read connection message.
    ## Send user name.
    $pop->print("helo mail.got.nl");
    $pop->print('mail from: blaat');
    $pop->print('rcpt to: blaat');
    $pop->print('data');
    $pop->print('Subject: blaat ');
    $pop->print('blaat ');
    $pop->print('blaat ');
    $pop->print('.');
    $pop->print('quit');
Pagina: 1