Bekijk Volledige Versie : Linux Batch Scripting
Iemand een voorbeeld van een for loop welke iedere keer 1 regel van random.log uitleest en dan de eerste waarde in deze .log als %1 opslaat, og iig dat ik deze kan gebruiken.
Linux batchscripting manuals of andere websites zijn ook welkom!
Tim
SebastiaanStok
22/02/05, 11:54
Een voorbeeld van een toepassing die frequent voorkomt: stel je wil in een grote directorystruktuur (niet in 1 directory) alle files die eindigen op .class vernietigen. Dit kan je doen in de zsh met de bewerking
for i in `find . -name "*.class"` do rm $i ;
http://64.233.183.104/search?q=cache:LSDFGp7U8VIJ:islab.ruca.ua.ac.be/bart/linux.html+linux+sh+for-loop&hl=nl&lr=lang_nl
http://www.google.nl/search?hl=nl&q=linux+sh+%22for%22&btnG=Zoeken&lr=lang_nl
Niet veel maar is iets :)
Je kan met tail het bestand uit lezen, zie ook man tail
Edit: Ik zelf heb deze gemaakt om die overbodige Thumb.db files te verwijder :D
#!/bin/sh
for i in `find . -name "Thumbs.db"`;
do rm $i
done
Bedankt, op linux.com staan ook aardige handleidingen zag ik :)
SebastiaanStok
23/02/05, 13:14
Ik ga die loop ook gebruiken voor een backup script.
Dat nog niet zo wil lukken :mad:
Is de zoekfunctie misschien een optie?
http://www.webhostingtalk.nl/search.php?s=&action=showresults&searchid=393227&sortby=lastpost&sortorder=descending
SebastiaanStok
27/02/05, 16:33
Inmidels is het gelukt.
#!/bin/bash
# Backup script to backup te whole dang system.
# Version 1.0
# Waht is the dir to writ te backups to.
BACKUP_DIR=/data/backup_system
i=0
# Loop until all parameters are used up
while [ "$i" -le $(($# + 1)) ]; do
echo "Backingup maount point \"$1\"..."
tar -cvpzf ${BACKUP_DIR}${1}_`date '+%Y-%m-%d'`.tar.gz $1 > /data/backup_system${1}_`date '+%Y-%m-%d'`.log
shift
i=$((i + 1))
done
En aanroepen met
system_backup.sh /boot /root /etc
Ik heb niets in home staat dus die hoef ik niet te backupen :p
Dat script kan een heel stuk netter. Vooral aangezien je steeds dezelfde paden gebruikt en je het niet dagelijks handmatig gaat uitvoeren. Ook die tar optie lijkt mij niet heel nuttig, zcf zonder verbose en zonder log is ook goed, maar das mijn mening. in Tar heb je ook een list optie. Cronjob om uit te voeren (root user cron dus) en tar zcf home.tar.gz /home /root /boot etc..
Tim
SebastiaanStok
01/03/05, 09:41
Ik snap je even niet :(
tar zcf home.tar.gz /home /root /boot
Ik draai een cronjob, ik maak iderere week ee n backup.
Het is toch beter een backup temaken op datum.
Met welke script maak jij je backups ?
En het is mij nog niet gelukt ook /usr/local er bij te nemen, en dan het lieftst zonder plaatjes er bij :).
ja, je doet nu in je cron zetten:
/bin/sh /backup/script.sh /home /bin /tmp /etc
Als je toch gewoon in je script zet dat je een backup maakt van die mappen en zonder al die parameters aanroept, kan het ook niet misgaan door ontbrekende parameters.
tar --help doet trouwens wonderen. tar --help | grep exclude ook ;)
Ik maak trouwens backups met een eigen gemaakt script, ook via een .sh met cronjob en in de toekomst heb ik de plannen om rsynd te gaan gebruiken.
Wekelijks een backup maken is trouwens niet genoeg, als je net een CMS maakt en je server crasht ben je alsnog je hele CMS kwijt. En ik kan het weten, mij is het gebeurd afgelopen week :)