Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Automatisch Shell Script uitvoeren  (gelezen 3455 keer)

patd

  • Gast
Automatisch Shell Script uitvoeren
« Gepost op: 2007/11/14, 17:49:34 »
Hallo,

Ik heb een shell script, als ik het handmatig uitvoer dan doet het wat het moet doen. Als ik het nu echter automatisch wil laten uitvoeren, met crontab -e,  dan gebeurt er niks.

Enig idee hoe ik dit kan oplossen?

Alvast bedankt.

Offline Monkwarrior

  • Lid
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #1 Gepost op: 2007/11/14, 18:32:15 »
Hoe ziet je crontab entry er uit en waar staat je script ?
En in welke crontab heb je het gezet, je eigen of root ?

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #2 Gepost op: 2007/11/15, 16:04:39 »
Hallo,

crontab -l geeft:

16 01 * * * /home/gamma/cron/backup_local

sudo crontab -l geeft een lege lijst.

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #3 Gepost op: 2007/11/15, 16:44:45 »
Overigens, als ik  een heel nieuw scriptje maak en het in de crontab opgeef, dan gebeurt er ook niks... Dit is wat ik heb gedaan:

Op desktop rechtermuis en nieuw bestand.

Nieuw tekstbestand; Daarin staat:
rm nieuw_bestand

Het nieuw tekstbestand hernoemd naar: test

Uitvoerbaar gemaakt met chmod X.
./test dan wordt het bestandje van Desktop verwijderd, automatisch niet.

Wat gaat er fout?

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #4 Gepost op: 2007/11/15, 17:14:49 »
Je hebt hetzelfde aan de hand als mij: http://forum.ubuntu-nl.org/topic/17871

Ook ik weet de oplossing nog steeds niet...
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

mickvdv

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #5 Gepost op: 2007/11/15, 17:19:22 »
miss chmoden met +x ? En probeer eens alle rechten aan dat bestand te geven (chmod 777).

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #6 Gepost op: 2007/11/15, 17:48:26 »
Hoi,

Het is heel vreemd, ik heb net een tekstfile gemaakt met een remove opdracht erin van een tekstfile dat ik op Desktop heb geplaatst.

chmod 777 [naam] ./[naam]  in teminal. Toen in crontab -e de [naam] gezet en tijd ingesteld, en hij deed het.

Vervolgens nog wat anders geprobeerd in te stellen, en dat ging dan weer niet. Ik word hier een beetje moedeloos van, aangezien ik graag een dagelijkse backup wil instellen.

Dus als ik handmatig het scriptje run, dan werkt het, automatisch niet.

Iemand nog suggesties?

Oja, normaal doe ik altijd chmod 777 bij het bestandje...

Offline Monkwarrior

  • Lid
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #7 Gepost op: 2007/11/15, 17:58:58 »
Citaat van: patd
Hallo,
crontab -l geeft:
16 01 * * * /home/gamma/cron/backup_local
sudo crontab -l geeft een lege lijst.
Gezien je tijd van posten neem ik aan dat je het script om 1 minuut over 4 (= 16 uur) wilde laten runnen ter test.
Zo ja dan heb je de uren en minuten omgekeerd.
Eerst in de crontab altijd de minuten, daarna de uren vermelden.
Dus 1 minuut over 4 uur smiddags is dan:
01 16 * * *


....... ;)

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #8 Gepost op: 2007/11/15, 19:11:08 »
Hoi,

Dat is een tikfoutje van mijn kant, ik had wel degelijk 01 16 in de lijst staan :).

Iemand nog suggesties?

Offline Monkwarrior

  • Lid
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #9 Gepost op: 2007/11/15, 19:39:59 »
Vreemd , bij mij werkt het feilloos.
Er zijn nog 2 workarounds te verzinnen:

1) zorg dat het script wordt gerunned als de pc wordt uitgezet (even op zoeken, dat kan)
2) waarom zet je aan het eind van je script geen shutdown commando zodat daarna de pc automatisch uit wordt gezet. Dan zet je je pc altijd uit met een backup.

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #10 Gepost op: 2007/11/16, 12:24:06 »
Mogen we eens in je shell script kijken?

Mijn probleem is verholpen. Ik had een verbose in m'n commando staan, daarmee wilde het niet werken :)

Kris
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #11 Gepost op: 2007/11/19, 21:25:14 »
Hoi,

Ik zal zsm het scriptje posten!

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #12 Gepost op: 2007/11/21, 13:39:01 »
Bij deze het scriptje:

RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
KEY=/home/gamma-root/.ssh/id_rsa
RUSER=root
RHOST=10.0.0.16
RPATH=/data
LPATH=/backup

$RSYNC -auz -e "$SSH -i $KEY" $RUSER@$RHOST:$RPATH $LPATH
2>&1 > /home/gamma-root/logbestand.log

Zoals gezegd, er wordt wel een logje aangemaakt, maar niks gebackupt.

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #13 Gepost op: 2007/11/21, 14:25:46 »
Een poging tot... probeer eens:

rsync $RSYNC -auze "$SSH $KEY" $RUSER@$RHOST:$RPATH $LPATH
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #14 Gepost op: 2007/11/21, 14:40:12 »
Geprobeerd: helaas, het werkt niet...

Ik blijf het maar gek vinden dat het handmatig wel goed gaat

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #15 Gepost op: 2007/11/21, 14:55:40 »
En zo?

$RSYNC -auz -e "$SSH $KEY" $RUSER@$RHOST:$RPATH $LPATH
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #16 Gepost op: 2007/11/21, 15:05:17 »
Ook zo werkt het niet.. Hij doet dan helemaal niks dus de code is denk ik goed..

Offline Monkwarrior

  • Lid
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #17 Gepost op: 2007/11/21, 16:03:48 »
Laten we het even iets anders doen.
Vergeet maar even de rsync parameters en installeer eens rsnapshot via synaptic.
Die maakt de eerste keer een volledige backup van je systeem en daarop volgende x keer (alles instelbaar) worden alleen de gewijzigde files weggeschreven.

Op die manier kun je dus altijd terug naar een bepaalde toestand van je systeem.
Dus je oude xorg.conf heeft rsnapshot gewoon voor je bewaard.

Simpel te configureren en je roept m dan in je crontab zo aan:
rsnapshot dailyWel even de file rsnapshot.conf in je /etc directory aanpassen als zijnde root.

Meer info hier: Homepage: http://www.rsnapshot.org/
Een kind kan de dinges doen.

Monk.

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #18 Gepost op: 2007/11/23, 16:05:50 »
Hoi,

Ik zal naar het programma kijken; echter de backup is van een netwerkschijf.. vandaar ook het interne IP adres. Ik hoop dat dit programma hem ' kan zien' .

Ik laat het wel weten!

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #19 Gepost op: 2007/11/23, 16:44:40 »
Citaat van: patd
Hoi,

Ik zal naar het programma kijken; echter de backup is van een netwerkschijf.. vandaar ook het interne IP adres. Ik hoop dat dit programma hem ' kan zien' .

Ik laat het wel weten!
Anders kan je even je harde schijf mounten: http://ubuntu-forums.nl/kb.php?mode=article&k=25
(Onderaan bij "Hoe netwerkmappen mounten bij opstarten, en alle users lees- en schrijfrechten geven?")
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #20 Gepost op: 2007/11/23, 16:57:01 »
Hoi,

De netwerkschijf is gemount, koppeling staat op het bureaublad, ik kan er zo gewoon bij. Heb al met andere programma's gehad dat ze hem niet zagen..

Na het instellen van de config file krijg ik steeds deze foutmelding:

must be a local, relative \
         path

Ik laat hem gaan naar een map die zich in mijn home map bevindt...
Eerder naar /backup maar geen succes.

oplossing voor deze: Bleek een / teveel te zijn

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #21 Gepost op: 2007/11/23, 17:59:18 »
Hallo,

Ik heb even geklooid met rsnapshot, maar dit heeft niet tot de gewenste resultaten geleid.
Vervolgens ben ik nog ff gaan kloten, en wat blijkt: als ik het scriptje door root laat uitvoeren.... dan werkt het gewoon!
De kleinste dingetjes denk je kennelijk pas later aan...

Ik wil iedereen hartstikke bedanken voor de hulp :)!

Problem solved

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #22 Gepost op: 2007/11/23, 18:12:04 »
En als je RUSER=root vervangt naar je eigen gebruikersnaam?
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

patd

  • Gast
Automatisch Shell Script uitvoeren
« Reactie #23 Gepost op: 2007/11/29, 16:29:47 »
Hoi,

Ik denk dat ik die user lekker laat staan zo, het werkt nu goed allemaal :).

Dan had ik nog een vraagje... Ik heb een externe harde schijf, alleen die bevat in de bestandsnaam een spatie. Nu heb ik met rsync geprobeerd om daarnaatoe te backuppen, maar er wordt dan in de home map een nieuwe folder aangemaakt genaamd DISK. Over de externe schijf zegtie: not a directory.

Op internet nog gezocht en zoiets gevonden als een \ teken na de spatie te zetten, dus media/Harde\ Schijf/ alleen dit werkte niet.

Iemand enig idee hoe dit op te lossen? De bestandsnaam van de externe schijf kan ik niet veranderen.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Automatisch Shell Script uitvoeren
« Reactie #24 Gepost op: 2007/11/29, 16:51:00 »
Installeer eens grsync. Dan kan je op een grafische manier het een keer proberen. Hij geeft ook het rsync commando wat uitgevoerd wordt.

Je kan ook proberen om het pad tussen aanhalingstekens te plaatsen: "/media/Harde Schijf/"