theoamd Δημοσιεύτηκε Μάϊος 2, 2012 #1 Δημοσιεύτηκε Μάϊος 2, 2012 Πως μπορώ να κάνω ένα εκτελέσιμο σενάριο φλοιού να εκτελείται με κάθε reboot του υπολογιστή?
Tsoureki Μάϊος 2, 2012 #2 Μάϊος 2, 2012 crontab -e Θα σου ανοίξει με nano το cron αρχείο. Απλά γράφεις @reboot + την εντολή/script που θέλεις να εκτελείς. YΓ. Αλλάζεις τον default editor έτσι: export EDITOR=/usr/bin/gedit. Ποιό distro έχεις btw;
theoamd Μάϊος 2, 2012 Author #3 Μάϊος 2, 2012 Το ανοίγει κανονικά με nano και βάζω κάτω απ' το default κείμενο την εντολή @reboot ./code.sh,κάνω rr και δεν γίνεται τίποτα!
Tsoureki Μάϊος 2, 2012 #4 Μάϊος 2, 2012 Ελπίζω να βάζεις ολόκληρο το path μέχρι το script σου. Ίσως χρειαστεί να ελέγξεις τον owner του script σου και να βάλεις το όνομα του πριν την εντολή και μετά το @reboot. Πειραματίσου αρχικά με κάτι σαν */2 * * * * + owner + εντολή (τρέχει κάθε 2 λεπτά) και ύστερα με το @reboot. Αααα επίσης θέλει restart μετά το edit, κάτι σαν /etc/init.d/cron restart ή service cron restart. Το scriptάκι τρέχει κανονικά από command line, έτσι; Έχε επίσης υπόψη σου ότι κάποιοι χαρακτήρες (αν έχεις τέτοιους στις εντολές σου) θέλουν escaping. Δεν απάντησες ποιά διανομή χρησιμοποιείς.
theoamd Μάϊος 2, 2012 Author #5 Μάϊος 2, 2012 Ναι από command line εννοείται ότι τρέχει κανονικά. Επίσης το path είναι στο /root οπότεπιστεύω δεν χρειάζεται να αλλάξω κάτι.Ανοίγω το cronetab, γράφω την εντολή πάνω απ' τη default γραμμή που έχει,αποθηκεύω,κ άνω restart την υπηρεσία, αλλά δεν τρέχει η εντολή καθόλου με το πέρας 2 λεπτών.Κάνω κάτι λάθος?
trendy Μάϊος 3, 2012 #6 Μάϊος 3, 2012 Αν θέλεις να τρέχει κάτι στο boot καλύτερα να το βάλεις στο rc.local (ανάλογα με τη διανομή που έχεις, ακόμα δεν έχεις απαντήσει σε αυτό), παρά στο crontab. Το crontab αν το κάνεις edit ως απλός χρήστης και πας να τρέξεις κάτι στο root, φυσικό είναι να μη σου παίξει, πρέπει να το βάλεις στο crontab του root.
Tsoureki Μάϊος 3, 2012 #7 Μάϊος 3, 2012 Μου κάνει φοβερή εντύπωση πάντως που δε σου τρέχει με cron. Τσέκαρε τα logs σου εκεί (σε Debian /var/log/syslog) να δεις τι error σου πετάει. Φτιάξε κανά script με echo μόνο σε φάση: #!/bin/bashecho test φτιάξε και ένα άδειο test.log και βάλε στο cron * * * * * path/to/./script >> path/to/test.log Restart cron, nano το test μετά από κανά λεπτό. Έχει τίποτα μέσα;:...: ΥΓ. Θα φτιάξεις δικό σου firewall;
theoamd Μάϊος 3, 2012 Author #8 Μάϊος 3, 2012 Αν θέλεις να τρέχει κάτι στο boot καλύτερα να το βάλεις στο rc.local (ανάλογα με τη διανομή που έχεις, ακόμα δεν έχεις απαντήσει σε αυτό), παρά στο crontab. Το crontab αν το κάνεις edit ως απλός χρήστης και πας να τρέξεις κάτι στο root, φυσικό είναι να μη σου παίξει, πρέπει να το βάλεις στο crontab του root.Εννοείται ότι το τρέχω ως root.Σε bt5 παίζουμε.
theoamd Μάϊος 3, 2012 Author #9 Μάϊος 3, 2012 Μου κάνει φοβερή εντύπωση πάντως που δε σου τρέχει με cron. Τσέκαρε τα logs σου εκεί (σε Debian /var/log/syslog) να δεις τι error σου πετάει. Φτιάξε κανά script με echo μόνο σε φάση: #!/bin/bashecho test φτιάξε και ένα άδειο test.log και βάλε στο cron * * * * * path/to/./script >> path/to/test.log Restart cron, nano το test μετά από κανά λεπτό. Έχει τίποτα μέσα;:...: ΥΓ. Θα φτιάξεις δικό σου firewall; To firewall μόλις φτιάχτηκε :magic: Παίζοντας όμως με save και restore των iptables μέσα από ένα shell script. Αν βρεθεί χρόνος, θα προσπαθήσω να δω τι τρέχει και με το crontab :warning2:
Recommended Posts
Archived
This topic is now archived and is closed to further replies.