Comment limiter la taille max d'un fichier ? - Installation - Linux et OS Alternatifs
Marsh Posté le 15-05-2003 à 11:10:46
Et un coup de logrotate ça marcherait pas ? C'est quoi tes fichiers en question ?
Marsh Posté le 15-05-2003 à 11:23:16
des sorties log toutes cons, mais parfois on oublie de tuer un daemon en partant et il continue à écrire
Marsh Posté le 15-05-2003 à 11:26:06
Et t'as pas moyen
- de faire logguer vers /dev/null ou pas du tout
- de mettre un logrotate pour limiter la casse
Marsh Posté le 15-05-2003 à 11:56:08
bein disons que c'est un peu le but du process de créer ce fichier, c'est une sortie si tu veux à part que des fois il continue à écrire alors qu'il devrait pas. Je sais pas si je me fais bien comprendre, mais les fichiers énormes sont d'habitude pas si gros que ca (qques dizaines voire centaines de meg) mais sont importants, fô pas les perdre (sauf que j'aimerai les limiter à par ex 800 - 900 Mo)
Marsh Posté le 15-05-2003 à 12:02:11
sinon à telle heure quand tout le monde est parti, dans ta crontab, pan "killall processus"
Marsh Posté le 15-05-2003 à 12:06:22
zerod a écrit : fô pas les perdre (sauf que j'aimerai les limiter à par ex 800 - 900 Mo) |
sinon (je trouve pas d'exe qui va bien), tu fais un programme qui ecrit dans un fichier au plus n octec
processus | auplus 1000000
Marsh Posté le 15-05-2003 à 13:14:14
mouais c'est des idées mais je pesais qu'on pouvait limiter la taille max d'un fichier dans un fichier de conf comme on limite la taille des mémoires partagées et autres... Il me semble bien pourtant...
Marsh Posté le 15-05-2003 à 13:17:44
tu as la commande ulimit qui ressemble à ça.
c'est une commande du bash :
Citation : ulimit [-SHacdflmnpstuv [limite]] |
Marsh Posté le 15-05-2003 à 13:22:09
Mais si le fichier est créé par un processus sans passer par bash, ça va pas marcher.
Dans ce cas : 3 solutions = quota ou logrotate ou modifier le programme pour qu'il gère proprement ses logs lui même
Marsh Posté le 15-05-2003 à 14:09:04
ban ok sinon ya solution 4 bourrer le crane des utilisateurs pour qu'ils pensent à faire un ps avant de partir
Marsh Posté le 15-05-2003 à 14:15:54
Où comme qqun d'autre te l'a proposé avant : une tâche cron qui passe à 19h ou 20h (par exemple) quand y a plus personne et qui tue tous les processus d'une liste d'utilisateurs
Marsh Posté le 15-05-2003 à 14:28:34
non c'est pas trés faisable ca, ya effectivement des tests longue durée qui sont succeptibles de durer des nuits entière et faut pas les killer, non vraiment c'est du cas par cas donc la seule soluce c'était la limite en dur.
Je suis suis pourtant quasiement sur de l'avoir vu ce truc
Marsh Posté le 15-05-2003 à 17:28:59
si certainement mais ca met à contribution les utilisateurs, donc on introduit le facteur "merde j'ai oublié de mettre le pipe" équivelent au : "merde j'ai pas vérifié mes process avant de partir"
Marsh Posté le 15-05-2003 à 17:29:52
vous etes sur que la commande ulimit n'affecte que les programmes lancés par bash ? Parceque ça fait exactement ce qu'il cherche.
Faudrait que tu testes à la limite
Marsh Posté le 26-05-2003 à 02:33:30
Je sais pas si t'as trouvé une solution depuis le temps, mais je suis tombé par hasard sur le fichier /etc/limits, qui détient aparament les infos dont t'as besoin (man limits)
Maintenant, je sais pas du tout d'où ça sort, donc c'est pas sur que tu l'aies aussi.
Marsh Posté le 15-05-2003 à 09:37:00
Hello,
Ca fait 2 ou 3 fois qu'on (au boulot) sature l'espace disque avec des process pas killés en partant le soir. Existe-t-il un moyen simple (config dans /proc par ex) pour limiter la taille max des fichiers, sans passer par la gestion des quotas utilisateurs si possible.
Merci les gens
edit précision :
redhat 7.3 noyau 2.4.18-3
partition en question :
/dev/hda4 1355 3904 20482875 83 Linux
Message édité par zerod le 15-05-2003 à 09:39:14