Re: cronjob με έξοδο στην κονσόλα

Pantelis Koukousoulas pktoss at gmail.com
Thu May 5 14:04:19 EEST 2011


2011/5/5 Σπύρος Γεωργαράς <sng at hellug.gr>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Στις 05/05/2011 01:27 μμ, ο/η Pantelis Koukousoulas έγραψε:
>> 2011/5/5 Σπύρος Γεωργαράς <sng at hellug.gr>:

>> Λογικά είναι αυτό που λέει, δηλαδή το livecd κάνει από μόνο του mount όλα
>> τα partitions του linux που θα βρει και γι αυτό δε δουλεύει το fsck. Το πώς το
>> απενεργοποιείς αυτό είναι distro και livecd-scripts-specific.
>>
>
> Ναι, το σκέφτηκα και εγώ αυτό, και γι' αυτό δοκίμασα ένα umount -a πριν κάνω
> το fsck, αλλά και πάλι τίποτα.

Το umount -a δεν είναι πάντα σίγουρο ότι θα δουλέψει αν τα partitions
χρησιμοποιούνται
εκείνη τη στιγμή, σωστά; Έλεγξες το /proc/mounts ότι δεν περιέχει κανένα από
τα partitions που σε ενδιαφέρουν πριν ξεκινήσεις το fsck?

> Εξάλλου, τώρα (με το cronjob) το fsck
> λειτουργεί κανονικά, χωρίς να έχω κάνει unmount τίποτα (προφανώς επειδή δεν
> είχε γίνει κάτι mount από μόνο του)

Μπορεί το mount να γίνεται από το session του χρήστη, δηλαδή μετά που θα κάνεις
login. Με το cronjob μπορεί να μη γίνεται login οπότε δε βλέπεις και
κανένα partition
να γίνεται mount.

>> μπορείς να ανακατευθύνεις το output (stderr και stdout) σε αρχεία, τα οποία να
>> τα κάνεις tail -f σε ένα αχρησιμοποίητο virtual terminal αν σε βολεύει αυτό.
>
> Το δοκίμασα αλλά
> α. αν το tail μπει στο .profile/.bashrc μου βγάζει το "partition is busy or
> mounted" στο fsck
> b. αν το βάλω στο cronjob, πάλι δεν έχω έξοδο σε κάποια κονσόλα

Λογικό, συνήθως αυτό που κάνει ο κόσμος είναι να βάζει το tail στο inittab:
Π.χ.,

log6:2345:respawn:/usr/bin/tail --retry --follow=name  /tmp/myfifo >  /dev/tty6

> Το ιδανικό θα ήταν να μπορώ να δώσω το cronjob κάπως έτσι
>
> 12 * * * * /home/user/script >> /dev/console
>
> ή κάτι τέτοιο, με target το πρώτο vitrual terminal. Αλλά πώς;

Δε λέω ότι δε γίνεται αυτό (γιατί στο free software ποτέ δεν πρέπει να λες
ποτέ :P) αλλά είναι λίγο "ανάποδο" σε σχέση με το πώς είναι φτιαγμένος
ο cron σε σχέση με το χειρισμό του output νομίζω.

Δοκίμασε την ιδέα με το αρχείο και το tail στο inittab, λογικά θα πρέπει να
δουλέψει.

Επίσης μπορεί να θέλεις να τρέχεις και το ίδιο το script σου μέσα από το
init δεδομένου ότι θέλεις να παίζει σε κάθε boot έτσι κι αλλιώς, οπότε το
init μοιάζει πιο κατάλληλο εργαλείο για τη δουλειά σου από ότι ο cron.



More information about the Linux-greek-users mailing list