Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/04/2014, à 15:21

arn0-Linux

Lien symbolique pour les logs

Bonjour,

Etant novice et ayant un serveur où la racine arrive bientôt à saturation j'aimerais donc des conseils pour déplacer les logs qui sont assez gourmand vers /home

J'ai vu la commande qui a l'air d’être simple :

mv /var/log /home/
ln -s /home/log/ /var/

Mes questions sont :

- Faut-il arrêter tous les services pour faire ce déplacement ou pas la peine vu que c'est des logs ?

- S'il y a des fichiers en cours d’écriture lorsqu'on lance la commande, peut-il avoir un incident ?

- Si le lien symbolique ne fonctionne pas, est-ce que je peux rattraper cela ?

Merci par avance.

Hors ligne

#2 Le 25/04/2014, à 15:47

bishop.sad.clown

Re : Lien symbolique pour les logs

...
- Faut-il arrêter tous les services pour faire ce déplacement ou pas la peine vu que c'est des logs ?

- S'il y a des fichiers en cours d’écriture lorsqu'on lance la commande, peut-il avoir un incident ?
...

non...

Au pire pour le second cas tu vas avoir un log incomplet. qlqs lignes le temps du mv / ln -s

pour inverser tu fais la manip inverse: supprimer le lien et mv log dans /var

EDIT: par contre l'usage de mv est une bonne idée comparée à un cp / rm , car mv conserve les droits/perms implicitement... Le cp non... faut être explicite avec cp...

Dernière modification par bishop.sad.clown (Le 25/04/2014, à 15:50)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#3 Le 26/04/2014, à 21:36

tiramiseb

Re : Lien symbolique pour les logs

Salut,

Tu as tellement de logs ? Quelle place prennent-ils ? Ne peux-tu pas simplement effacer les plus anciens ?

Hors ligne

#4 Le 28/04/2014, à 08:17

arn0-Linux

Re : Lien symbolique pour les logs

tiramiseb a écrit :

Salut,

Tu as tellement de logs ? Quelle place prennent-ils ? Ne peux-tu pas simplement effacer les plus anciens ?

Le problème c'est que lors du partitionnement à la racine j'ai que 10 Go et sur le home j'ai 2 To. Donc justement pour éviter que sa sature je supprime les logs compressés. Mais je ne sais pas si on peut supprimer les logs en cours d'ecriiture tel que par exemple error.log dans apache2 ?

De plus j'ai un serveur radius et les connexions s'archivent dans plusieurs fichiers comme raddact et radwtmp qui pèsent assez lourd pour 10 Go de place

Donc le mieux à mon avis est de faire un lien symbolique mais j'aimerais savoir s'il n'y a pas d'incidence avec les commandes que j'ai dis et si sa va fonctionner...

Hors ligne

#5 Le 28/04/2014, à 08:28

jplemoine

Re : Lien symbolique pour les logs

Je vais peut-être dire une betise mais ne peut-on pas :
- créer une partition en prenant la place dans  2To
- changer le fstab pour que le /var/log pointe dans cette nouvelle partition

Par contre, je ne sais pas comment récupérer le contenu si le système écrit dans la partition.
exemple :
il y aura un syslog des 2 cotés : il faut donc les concaténer ou ?


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#6 Le 28/04/2014, à 08:30

tiramiseb

Re : Lien symbolique pour les logs

Mais je ne sais pas si on peut supprimer les logs en cours d'ecriiture tel que par exemple error.log dans apache2 ?

On peut supprimer le fichier, mais ça ne libérera pas la place parce qu'il est encore ouvert : la place ne se libérera que quand Apache le fermera. Ah oui, il continuera à écrire dans ce fichier auquel tu n'auras pas accès, jusqu'à la prochaine rotation smile

Donc le mieux à mon avis est de faire un lien symbolique mais j'aimerais savoir s'il n'y a pas d'incidence avec les commandes que j'ai dis et si sa va fonctionner...

À mon avis ça devrait passer. Mais tu ne peux pas partitionner différemment ? À tout hasard, tu n'es pas en LVM ?

Ce que tu décris c'est un comportement de serveur : c'est un serveur qui est partitionné comme ça ? 10 Go dans / et 2 To dans /home, c'est vraiment étrange.

Sur un poste de travail je mettrais 30 Go dans / et le reste dans /home, sur un serveur je ferais ça en LVM avec plusieurs partitions (/, /tmp, /usr, /var, /var/log, etc) de petite taille au début, avec agrandissement dynamique si nécessaire...

Hors ligne

#7 Le 28/04/2014, à 08:33

tiramiseb

Re : Lien symbolique pour les logs

- créer une partition en prenant la place dans  2To
- changer le fstab pour que le /var/log pointe dans cette nouvelle partition

On peut créer un fichier dans lequel on mettrait un système de fichiers.
Et utiliser ce fichier comme périphérique virtuel (mount -o loop) pour /var/log.

il y aura un syslog des 2 cotés : il faut donc les concaténer ou ?

Quels deux côtés ? Tu montes ce truc dans /var/log, il n'y a qu'un seul /var/log...


-----


Il y a aussi une autre possibilité : configurer le système (rsyslog en premier, radius également, etc) pour utiliser /home/log au lieu de /var/log. Et éventuellement conserver un lien dans /var/log "au cas où". Mais bon du coup on ne respecte plus le FHS (cela dit il y a probablement d'autres endroits où le FHS n'est pas respectés, comme chez quasiment tout le monde).

Hors ligne

#8 Le 28/04/2014, à 08:40

jplemoine

Re : Lien symbolique pour les logs

les 2 cotés (c'est mal dit) : ce sont les 2 emplacements.
- l'ancien /var/log où il y a des données jusqu'au changement de location
- le nouveau /var/log où le démarrage a sûrement déjà écrit.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#9 Le 28/04/2014, à 08:44

tiramiseb

Re : Lien symbolique pour les logs

- l'ancien /var/log où il y a des données jusqu'au changement de location
- le nouveau /var/log où le démarrage a sûrement déjà écrit.

Pour ce montage (ou même pour un lien symbolique), l'idéal est de redémarrer sur un système Live pour transférer l'intégralité du contenu de /var/log dans le nouvel emplacement (que ce soit un filesystem stocké dans un fichier dans /home ou juste un répertoire dans /home), puis configurer le fstab pour l'éventuel bon montage ou créer le lien en lieu et place du répertoire /var/log. Il ne faut pas conserver l'ancien emplacement.

Dernière modification par tiramiseb (Le 28/04/2014, à 08:50)

Hors ligne

#10 Le 28/04/2014, à 08:47

arn0-Linux

Re : Lien symbolique pour les logs

tiramiseb a écrit :

Mais je ne sais pas si on peut supprimer les logs en cours d'ecriiture tel que par exemple error.log dans apache2 ?

On peut supprimer le fichier, mais ça ne libérera pas la place parce qu'il est encore ouvert : la place ne se libérera que quand Apache le fermera. Ah oui, il continuera à écrire dans ce fichier auquel tu n'auras pas accès, jusqu'à la prochaine rotation smile

Donc le mieux à mon avis est de faire un lien symbolique mais j'aimerais savoir s'il n'y a pas d'incidence avec les commandes que j'ai dis et si sa va fonctionner...

À mon avis ça devrait passer. Mais tu ne peux pas partitionner différemment ? À tout hasard, tu n'es pas en LVM ?

Ce que tu décris c'est un comportement de serveur : c'est un serveur qui est partitionné comme ça ? 10 Go dans / et 2 To dans /home, c'est vraiment étrange.

Sur un poste de travail je mettrais 30 Go dans / et le reste dans /home, sur un serveur je ferais ça en LVM avec plusieurs partitions (/, /tmp, /usr, /var, /var/log, etc) de petite taille au début, avec agrandissement dynamique si nécessaire...

OK pour les fichiers .log mais le problème c'est que sa fait perdre pas mal de temps à tous supprimer pour ne pas dépasser les 10 Go. Faut sans cesse surveiller etc. donc j'aimerais une solution durable wink

Effectivement le serveur est partitionner de cette façon : 10 Go dans / et 2 To dans /home ce n'est pas moi qui est fait sa et on va dire que c'est la merde à gérer maintenant :s

Le problème c'est qu'on ne peut plus repartitionner car je risque de tout perdre ou de devoir reinstaller linux non ?? Je n'ai pas LVM j'ai virtualmin/webmin mais sa a sans doute rien à voir avec la modification des partition.

Quand tu dis "sa devrait passer" si sa passe pas, qu'est ce qu'il se passe ?

Hors ligne

#11 Le 28/04/2014, à 08:48

jplemoine

Re : Lien symbolique pour les logs

la solution de Sébastien (tiramiseb) ne t'oblige pas à partitionner.
Si j'ai bien compris, tu utilises un fichier sur le /home qui est monté comme étant /var/log : tu auras donc un gros fichier dans ta partition home.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#12 Le 28/04/2014, à 08:53

arn0-Linux

Re : Lien symbolique pour les logs

jplemoine a écrit :

la solution de Sébastien (tiramiseb) ne t'oblige pas à partitionner.
Si j'ai bien compris, tu utilises un fichier sur le /home qui est monté comme étant /var/log : tu auras donc un gros fichier dans ta partition home.

Oui mais c'est ce que je veux faire justement en créant un lien symbolique. Mais ce que je me demande c'est si sa passe pas que se passe-t-il..?

Hors ligne

#13 Le 28/04/2014, à 08:54

tiramiseb

Re : Lien symbolique pour les logs

le problème c'est que sa fait perdre pas mal de temps à tous supprimer pour ne pas dépasser les 10 Go.

Ce n'est pas à toi de gérer ça. logrotate est là pour ça. Tu peux le configurer pour réduire les durées de rétention des logs, il les effacera alors tout seul.

ce n'est pas moi qui est fait sa et on va dire que c'est la merde à gérer maintenant

Si ce n'est pas toi qui l'as fait, alors je peux le dire sans risquer de te blesser : ce partitionnement est pourri. smile

on ne peut plus repartitionner car je risque de tout perdre ou de devoir reinstaller linux non ??

Tu risques, oui, si tu fais une erreur. Oui il y a des risques.
Pour quelqu'un qui sait le faire, ça ne pose pas de problème particulier.
Mais si tu te lances à l'aveugle, il y a un risque de faire des bêtises, oui.

C'est un serveur pro ? asso ? perso ? autre chose ?

Je n'ai pas LVM j'ai virtualmin/webmin

LVM c'est une solution de gestion dynamique des espaces disques.
Webmin c'est un logiciel qui te permet soit-disant de simplement configurer ton serveur par une interface web. Je n'aime pas du tout.

Dans la mesure où tu mélanges ces deux concepts totalement différents, je me permet de demander : es-tu sûr que tu n'a spas LVM ? Que retourne la commande suivante ?

mount

Quand tu dis "sa devrait passer" si sa passe pas, qu'est ce qu'il se passe ?

Je dis ça car je ne suis pas omniscient.
À ma connaissance ça ne devrait gêner aucun logiciel.
Mais comme dit, je ne suis pas omniscient smile

-----

la solution de Sébastien (tiramiseb) ne t'oblige pas à partitionner.

Bah c'est une solution que tu as toi-même mise en avant, non ?
( ou alors j'ai mal compris ton message lol )

Hors ligne

#14 Le 28/04/2014, à 09:21

arn0-Linux

Re : Lien symbolique pour les logs

La commande mount renvoi cela :

/dev/sda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda2 on /home type ext3 (rw)

c'est un serveur asso on s'est fait aidé par quelqun'un mais c'est pas un pro

Hors ligne

#15 Le 28/04/2014, à 09:34

tiramiseb

Re : Lien symbolique pour les logs

Ok donc il n'y a pas LVM.

c'est pas un pro

Ça se voit... Il pourrait au moins se documenter...


-----


Récapitulons ; tu as quatre possibilités :

1/ la plus simple en apprenant comment fonctionnent les fichiers de configuration de logrotate, (c'est facile) : configurer la rotation des logs pour que ça prenne moins de place
2/ la plus simple en bricolant : créer un lien symbolique et déplacer tous les fichiers, ça devrait passer (sauf logiciel tordu qui n'aime pas les liens)
3/ un peu plus compliqué, mais c'est du bricolage : créer un système de fichiers dans un fichier qui sera contenu dans /home (en gros, ça revient à gérer manuellement un pseudo-partitionnement plus ou moins dynamique)
4/ la plus compliquée mais la plus propre : réduire /dev/sda2 pour ajouter des partitions derrière proprement

Le cas 1 c'est juste de la configuration, ça peut se faire pendant que le serveur tourne, sans arrêter le service, etc. Les cas 2 et 3 pourraient être faits avec le système en fonctionnement mais c'est risqué et il peut y avoir des pertes, je préconise de le faire sur un système Live. Le cas 4, c'est à faire obligatoirement sur un système Live.

Pour le cas 4, il y a parted (et sa surcouche graphique gparted) qui peuvent grandement simplifier la manipulation.
Si tu t'appliques pour ne pas faire n'importe quoi, je te conseille grandement cette approche.

Tu as des données sur /home ? Beaucoup ?

Hors ligne

#16 Le 28/04/2014, à 09:47

arn0-Linux

Re : Lien symbolique pour les logs

Dans le cas 1 : si je fais la rotation tous les jours sa risque d'user les DD plus rapidement et donc de réduire leurs durées de fonctionnement ??
Le problème aussi c'est qu'il y a un fichier dans les logs qui se nomment radwtmp et qui ne fait pas parti de la rotation et qui a priori ne se vide jamais et continue à grandir (il fait actuellement 1,3 Go) et le problème c'est que je sais pas si sa peut poser problème de le supprimer

Dans le cas 2 : Si un logiciel n'aime pas ce genre de lien que va-t-il se passer ? Il va plus ecrire dans les logs mais va continuer à fonctionner ou il va planter ? Peut-on revenir en arriere si je fais cette manip ?

Pour les cas 3 et 4 sa me parait assez risqué en plus s'il faut le faire sur un système Live le serveur va être indisponible normalement

Hors ligne

#17 Le 28/04/2014, à 09:57

tiramiseb

Re : Lien symbolique pour les logs

Dans le cas 1 : si je fais la rotation tous les jours sa risque d'user les DD plus rapidement et donc de réduire leurs durées de fonctionnement ??

Ça n'usera pas plus le(s) disque(s) que pour une utilisation classique : de toute façon les programmes écrivent dans les logs en continu : la rotation ne représente presque rien en comparaison.

il y a un fichier dans les logs qui se nomment radwtmp et qui ne fait pas parti de la rotation et qui a priori ne se vide jamais et continue à grandir (il fait actuellement 1,3 Go)

Eh bien mets en place une rotation sur ce fichier !

Quelques informations à propos de ce fichier :
http://freeradius.1045715.n5.nabble.com … 44999.html
http://freeradius.1045715.n5.nabble.com … 28313.html

Dans le cas 2 : Si un logiciel n'aime pas ce genre de lien que va-t-il se passer ?

Ça dépend du logiciel. Je ne connais aucun logiciel auquel ça poserait problème, je ne peux donc pas dire. Ça dépend vraiment de comment il est (bien ou mal) programmé.

Pour les cas 3 et 4 sa me parait assez risqué en plus s'il faut le faire sur un système Live le serveur va être indisponible normalement

Oui, le service sera indisponible pendant la manipulation.
Même dans le cas 2 je te conseille fortement d'utiliser le système Live...

Hors ligne

#18 Le 28/04/2014, à 10:30

arn0-Linux

Re : Lien symbolique pour les logs

Concernant les logiciels dans va/log j'ai du standard apache2, freeradius, virtualmin, munin, mysql, fsck, apparmiror, installer, ntpstats, proftpd etc.

Et si on utilise pas le systeme Live pour le cas 2 qu'est ce qui va se passer à part quelques lignes d'ecritures qui seront perdues ?

Pour le fichier radwtmp j'avais déjà lu ces infos mais on m'avait dis de ne pas y toucher et que c'etait un fichier qui ne sert pas à faire de rotation. Donc du coup je n'ose pas y toucher (vider, suppr ou rotate)

Hors ligne

#19 Le 28/04/2014, à 10:39

tiramiseb

Re : Lien symbolique pour les logs

Concernant les logiciels dans va/log j'ai du standard apache2, freeradius, virtualmin, munin, mysql, fsck, apparmiror, installer, ntpstats, proftpd etc.

Pour la plupart d'entre eux, ils passent par syslog. Donc c'est même plus simple que ça.

Et si on utilise pas le systeme Live pour le cas 2 qu'est ce qui va se passer à part quelques lignes d'ecritures qui seront perdues ?

Ce ne sont pas que "quelques lignes" qui seront perdues : les logiciels continueront d'écrire dans les fichiers que tu auras "supprimés" tant que tu ne les redémarres pas.

À la limite, après la manip' tu peux redémarrer la machine, ça relancera tous les logiciels. Tu auras en effet perdu les logs correspondant à l'espace entre la copie des logs existants et le redémarrage.
Rien de catastrophique je te l'accorde.

Pour le fichier radwtmp j'avais déjà lu ces infos mais on m'avait dis de ne pas y toucher et que c'etait un fichier qui ne sert pas à faire de rotation. Donc du coup je n'ose pas y toucher (vider, suppr ou rotate)

C'est qui "on" ?
Tu utilises radlast ?

Hors ligne

#20 Le 28/04/2014, à 10:51

arn0-Linux

Re : Lien symbolique pour les logs

OK donc je redemarre le serveur en soft via la commande sbin/rebbot et sa devrait le faire wink

Concernant radlast B1 je ne sais pas si on l'utilise en tout cas on ne fait pas de commande lié à radlast a priori. Le "on" c'est la personne qui nous a aidé à configurer le serveur... wink

Hors ligne

#21 Le 28/04/2014, à 10:55

tiramiseb

Re : Lien symbolique pour les logs

on ne fait pas de commande lié à radlast a priori

radlast c'est une commande. Si tu ne tape jamais radlast, tu n'utilises pas radlast...

Hors ligne

#22 Le 28/04/2014, à 10:57

arn0-Linux

Re : Lien symbolique pour les logs

tiramiseb a écrit :

on ne fait pas de commande lié à radlast a priori

radlast c'est une commande. Si tu ne tape jamais radlast, tu n'utilises pas radlast...

Et sa ne peut pas etre dans un script cette commande ?

Hors ligne

#23 Le 28/04/2014, à 11:02

tiramiseb

Re : Lien symbolique pour les logs

Ça peut. À toi de voir si tu utilises un tel script.
Cette commande sert à lister les sessions, etc.
http://www.gnu.org/software/radius/manu … dlast.html

Hors ligne

#24 Le 28/04/2014, à 11:45

arn0-Linux

Re : Lien symbolique pour les logs

tiramiseb a écrit :

Ça peut. À toi de voir si tu utilises un tel script.
Cette commande sert à lister les sessions, etc.
http://www.gnu.org/software/radius/manu … dlast.html

OK par contre pour lister les connexions sa se fait dans phpmyadmin et sa archive la dedans. Et a ce que je vois il y a un doublons aussi dans radwtmp Dans le fichier de conf on peut mettre en commentaire une ligen afin d'empêcher l'écriture dans ce fichier qui ne cesse de grossir.

Je peux tester cela ? C'est a dire cocher cette ligne et si je vois que sa marche encore c'est bon radwtmp ne sert à rien et si je vois que sa ne fonctionne plus il suffit de remettre la ligne qui était en commentaire ou il y a d'autres riques ?

Concernant le lien symbolique et la liste des logiciels que je t'ai donné dans var/log pour toi c'est bon il n'y a pas de risque ? Et au pire suffit de supprimer le lien symbolique et de remettre le dossier log dans var ?

Merci de ton aide wink

Hors ligne

#25 Le 28/04/2014, à 13:12

tiramiseb

Re : Lien symbolique pour les logs

Je peux tester cela ? C'est a dire cocher cette ligne et si je vois que sa marche encore c'est bon radwtmp ne sert à rien et si je vois que sa ne fonctionne plus il suffit de remettre la ligne

Je ne suis pas spécialiste de ce domaine.
Mais de manière générale, c'est le genre de manipulation que je fais sans trop d'hésitation, à partir du moment où je conserve les infos nécessaires pour revenir en arrière (ce que tu envisages de faire).

Concernant le lien symbolique et la liste des logiciels que je t'ai donné dans var/log pour toi c'est bon il n'y a pas de risque ?

Freeradius je ne sais pas (mais je suis assez confiant), pour le reste je ne vois pas de problème a priori.

Et au pire suffit de supprimer le lien symbolique et de remettre le dossier log dans var ?

Oui.


De manière générale, tu peux tester tout de que tu veux, à partir du moment où tu prévois ce qu'il faut pour retourner en arrière... ce que tu sembles prévoir de faire correctement.

Hors ligne