βοηθεια με bash script!!

Είναι δωρεάν, είναι σταθερό, είναι γρήγορο.. ας το γνωρίσουμε και λίγο καλύτερα..

Συντονιστές: Super-Moderators, Software & Hardware Moderators

Απάντηση
Άβαταρ μέλους
tutankhamun
Δημοσιεύσεις: 6
Εγγραφή: 10 Απρ 2008 06:35

βοηθεια με bash script!!

Δημοσίευση από tutankhamun » 30 Μαρ 2009 23:51

Προσπαθω να φτιαξω ενα bash script που να δημιουργει μια λιστα με όλα τα αρχεία που εχουν τροποποιηθεί εντος της ημέρας κάτω απτο home directory και μετά χρησιμοποιώντας την tar θα παίρνω αντίγραφο ασφαλειας των συγκεκριμένων αρχείων.Τα αντίγραφα ασφαλείας θα περιέχονται σε ένα αρχείο του οποίου το όνομα θα πρέπει να περιέχει την ημερομηνία στην μορφή dd_mm_yyyy (πχ backup_of_24_04_2009.tar) και δεν θα πρεπει να περιέχει αναφορά στον εαυτό του.Ακομα το script θα δέχεται σαν παραμετρο κανεναν η έναν αριθμο ο οποίος θα καθορίζει το επίπεδο συμπίεσης που θα χρησιμοποιεί το bzip2 για την συμπιεση του αρχείου tar(αν δν δινεται παραμετρος θα χρησιμοποιείται το εξ ορισμου επιπεδο συμπίεσης στο bzip2).Εδώ χρειάζονται και έλεγχοι για το αν έιναι σωστές οι παραμετροι και έλεγχος για το αν το bzip υπαρχει στο σύστημα(αν δν υπάρχει θα τυπώνεται ενα μήνυμα και η διαδικασια θα συνεχίζεται με το tar αρχειο).Τέλος το συμπιεσμένο αρχείο θα μεταφέρεται στον φάκελο Backup κατω απτ'το home directory και αν δν υπάρχει ο φακελος αυτός να τον δημιουργεί πρώτα.
Καθε βοήθεια ειναι δεκτή!
Ευχαριστώ εκ των προτερων! :)

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

βοηθεια με bash script!!

Δημοσίευση από agrippas » 31 Μαρ 2009 11:11

Για να βρεις τα αρχεία:

Κώδικας: Επιλογή όλων

find ~/ -mtime 0 -type f \! -name "backup_of_*.tar" > ~/tmpfiles.tmp
(βρες όλα τα αρχεία από το ~ που είναι modified το τελευταίο 24ωρο εκτός αυτά με όνομα backup_of_*.tar και τη λίστα γράψε την στο tmpfiles.tmp)

Μετά για να φτιάξεις το tar:

Κώδικας: Επιλογή όλων

for i in $(cat ~/tmpfiles.tmp)
do 
tar -cf ~/backup_of_$(date +%d_%m_%Y).tar $i
done
Για την παράμετρο θα χρησιμοποιήσεις το $1. Αν υπάρχει κάνε bzip2 το ~/backup_of_$(date +%d_%m_%Y).tar.

Για τα test με την if:

-d ~/Backup
(το ~/Backup υπάρχει και είναι directory)

-x /bin/bzip2
(το /bin/bzip2 υπάρχει και είναι executable)

Περισσότερα: man test

Για μεταφορά του αρχείου, χρησιμοποιούμε τη mv.

Τώρα έχεις όλα όσα χρειάζεσαι. Άμα κολλήσεις, πες.

Άβαταρ μέλους
tutankhamun
Δημοσιεύσεις: 6
Εγγραφή: 10 Απρ 2008 06:35

βοηθεια με bash script!!

Δημοσίευση από tutankhamun » 31 Μαρ 2009 16:46

Ευχαριστώ πολύ φιλε μου!!!
Θα δοκιμασω αυτα που είπες και αν υπάρξει πρόβλημα θα επικαλεστώ παλι την βοήθειά σου!!!
:respect:

Άβαταρ μέλους
tutankhamun
Δημοσιεύσεις: 6
Εγγραφή: 10 Απρ 2008 06:35

βοηθεια με bash script!!

Δημοσίευση από tutankhamun » 02 Απρ 2009 01:12

Χρειάζομαι λίγη βοήθεια!!
Κάνω το εξής

if [ -x bin/bzip2 ]; then
bzip2 -$compression ~/backup_of_$(date +%d_%m_%Y).tar
exit 1;
else
echo "Compression is not possible."
fi
για να δω αν υπάρχει το bzip2 αλλά οταν το εκτελω ετσι δν μου δημιουργει το .bz2 αρχείο ενω υπάρχει το bzip2.Τι λάθος κανω?Πιστευω να δειξεις κατανοηση αν κανω καμια χοντράδα γιατί ειμαι σε πολυ αρχάριο επίπεδο...

Άβαταρ μέλους
tutankhamun
Δημοσιεύσεις: 6
Εγγραφή: 10 Απρ 2008 06:35

βοηθεια με bash script!!

Δημοσίευση από tutankhamun » 02 Απρ 2009 03:54

Τελικά βρήκα την άκρη!!!Σευχαριστώ πολυ για τη βοήθειά σου!!!

tapxxor
Δημοσιεύσεις: 14
Εγγραφή: 10 Σεπ 2007 18:14

βοηθεια με bash script!!

Δημοσίευση από tapxxor » 02 Απρ 2009 23:01

tutankhamun έγραψε:Τελικά βρήκα την άκρη!!!Σευχαριστώ πολυ για τη βοήθειά σου!!!
kala re stourne ! ebgales fatsa fora olh thn askhsh ? toso m***kas eisai ? mono pou den tou eipes tou paidiou pou na thn paradwsh kiolas . vlaka anti na katseis 1,2 meres na breis ts entoles thn phres olh etoimh ... kai kaneis kai ton allo magka . les kai einai o gamias tou scripting . les kai si 2 meres na asxoliosouna den 8a ta evriskes ... na pw oti den se ftanane kai oi meres... kalos m***kas eisai. axrhste anti na peis pou kollas kathhses kai ekanes copy paste olh thn ekfwnhsh. ti paparas eisai....

tapxxor
Δημοσιεύσεις: 14
Εγγραφή: 10 Σεπ 2007 18:14

βοηθεια με bash script!!

Δημοσίευση από tapxxor » 02 Απρ 2009 23:02

parakalw o mod na sbhsei to topic olo an einai dinaton !!!

Άβαταρ μέλους
EkLekTos
WebDev Moderator
Δημοσιεύσεις: 7421
Εγγραφή: 07 Απρ 2005 15:44
Τοποθεσία: Inside the Effects
Επικοινωνία:

βοηθεια με bash script!!

Δημοσίευση από EkLekTos » 02 Απρ 2009 23:44

Παρεκτραπήκαμε μου φαίνεται! Κάθε ένας μπορεί να υποβάλει ότι ερώτηση θέλει, μετά είναι στην κρίση του αναγνώστη αν θα του τη λύση ή όχι. Εμείς δεν μπορούμε να γνωρίζουμε αν ο άλλος βάζει άσκηση πανεπιστημίου, επίσης δεν είναι κατά των όρων χρήσης του freestuff.gr.
Μέχρι να παρθεί κάποια απόφαση το topic θα παραμένει κλειστό.

Ευχαριστώ.
* Apple Technical Support Specialist *
* Apple Sales & Product Professional Certificate since 2011 * Εικόνα
Follow me @Twitter

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

βοηθεια με bash script!!

Δημοσίευση από cordis » 03 Απρ 2009 00:23

tapxxor έγραψε:parakalw o mod na sbhsei to topic olo an einai dinaton !!!
αυτό θα το κρίνουμε εμείς και όχι εσύ.
tapxxor έγραψε: kala re stourne ! ebgales fatsa fora olh thn askhsh ? toso m***kas eisai ?
ανακαλείς αλλιώς διαγράφεσαι.

ευχαριστώ.
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

βοηθεια με bash script!!

Δημοσίευση από agrippas » 03 Απρ 2009 04:00

Τα φόρουμ στο internet είναι γι' αυτό ακριβώς το λόγο, ανταλλαγή γνώσεων. Δεν νομίζω δα να τίθεται θέμα για το αν πρέπει να πούμε σε έναν άνθρωπο κάτι που το ξέρουμε από το φόβο μήπως φανούμε "μάγκες" ή "γ... του σκρίπτινγκ". Αλίμονο αν δεν ζητήσει κάποιος βοήθεια για τα tasks που του ανατίθενται. Άλλος πληρώνει φροντιστήριο, άλλος αγοράζει βιβλία, άλλος ρωτάει εμάς. Αντί βρε να ενθαρρύνουμε το teamwork και την επικοινωνία με συναδέλφους, τόνε βρίζουμε κιόλας τον άνθρωπο που είχε το θάρρος να ρωτήσει;

Πάντως αν είναι άσκηση δεν είναι σωστή η εκφώνηση. Δεν εξαιρεί τα προηγούμενα backups (κάτι που κάνουμε εμείς εδώ με τη find). Επίσης δεν έχει νόημα να ψάχνει για το bzip2 μια και στα περισσότερα συστήματα είναι εγκατεστημένο by default, αλλά και να μην είναι, μια κλήση σε μη εγκατεστημένο πρόγραμμα θα βγάλει το μήνυμα λάθους που πρέπει (κάτι που αυτός που έβαλε την άσκηση θα έπρεπε να το ξέρει).

Άβαταρ μέλους
EkLekTos
WebDev Moderator
Δημοσιεύσεις: 7421
Εγγραφή: 07 Απρ 2005 15:44
Τοποθεσία: Inside the Effects
Επικοινωνία:

βοηθεια με bash script!!

Δημοσίευση από EkLekTos » 03 Απρ 2009 04:48

agrippas έχεις απόλυτο δίκιο σε αυτό που λες, αλλά κάποιος μπορεί να σου πει "Μα εγώ ξεσκίστικα να τα μάθω με διάβασμα, και έρχεται ο αλλος με έτοιμη που ουσιαστικά δεν έκανε τίποτα ...".
Δεν υποστηρίζω αυτή την άποψη, αλλά την υποστήριξε ο tapxxor σε PM.

Όσο δίκιο να έχει και κάποιος το χάνει όταν θα βρίσει!
* Apple Technical Support Specialist *
* Apple Sales & Product Professional Certificate since 2011 * Εικόνα
Follow me @Twitter

Απάντηση

Επιστροφή στο “Linux Guide”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες