mardi 27 octobre 2009
Récupérer la mémoire totale sous Solaris avec la commande prtconf
Quand je lance un vmstat, je n'ai pas accès à la mémoire totale sous Solaris. Je suis tombée sur un site qui m'a indiqué comment trouver cette précieuse information. Voilà ce que j'obtiens sous un solaris 10 :
bash-3.00$ prtconf | grep Memory
Memory size: 57344 Megabytes
mardi 20 octobre 2009
Equivalent du wget sous solaris 10
Je souhaite tester l'accès à certaines pages web via l'outil très célèbre wget. J'utilise d'habitude la commande wget sous Linux. Et là, je suis surprise de voir que cela ne fonctionne pas sous Solaris 10. En effet, j'ai ce message d'erreur :
bash-3.00$ wget http://localhost:8080/
bash: wget: command not found
En fait, il faut indiquer ceci pour que ça fonctionne :
bash-3.00$ /usr/sfw/bin/wget http://localhost:8080/
--17:27:26-- http://localhost:8080/
=> `index.html'
Connecting to localhost:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
[ <=> ] 10,737 --.--K/s
17:27:26 (85.26 MB/s) - `index.html' saved [10737]
Vous pouvez maintenant utiliser la commande wget sous Solaris 10 avec toutes les options que j'avais citées dans un précédent post.
mercredi 7 octobre 2009
Commande tail sous Solaris, exemple d'une différence avec Linux
Vous pensez sûrement que la commande tail est identique quelque soit l'environnement ? Et bien, non ce n'est pas le cas.
Si vous avez l'erreur suivante sous Solaris :
bash-3.00$ tail -n 1 monfichier.log
usage: tail [+/-[n][lbc][f]] [file]
tail [+/-[n][l][r|f]] [file]
Vous pouvez la corriger tout simplement en la remplaçant par la commande suivante :
bash-3.00$ tail -1 monfichier.log
En résumé, remplacez tail -n nombre_lignes monfichier par tail -nombre de lignes monfichier
mercredi 16 septembre 2009
Compresser un fichier volumineux sous Unix avec gzip
Il n'y a qu'avec l'expérience que je progresse. J'ai beau lire des pages et des pages de commandes, si je ne les applique pas, je ne les retiens pas.
Aujourd'hui j'ai bénéficié d'un petit coup de pouce de mon collègue pour compresser un fichier volumineux sous AIX.
gzip -c myFile > myFile.gz
Si le fichier en question est dans un filesystem full, l'astuce est de le compresser ailleurs ! Je vous rassure, j'ai déjà fait cette erreur de débutant. Donc on modifie notre commande initiale qui devient :
gzip -c myFile > /tmp/myFile.gz
rm -f myFile
mv /tmp/myFile.gz .
Dans la dernière commande, n'oubliez pas le point "."
lundi 7 septembre 2009
Retrouver les fichiers volumineux avec la commande du
Lorsque vous avez un filesystem à purger dans votre Linux, Solaris ou AIX, commencez par taper la commande :
df -h
ou
df -k
Ensuite, repérez le filesystem full, celui à purger.
afin de déterminer quels sont les fichiers les plus volumineux au sein de votre filesystem, tapez la commande :
du -sh /votre_fs_full/*
ou
du -sk /votre_fs_full/*
-----
Merci à celui qui m'a fourni cette dernière commande (n'est-ce pas Hamid ;) ).
vendredi 15 mai 2009
Réactiver un compte expiré sous Linux avec la commande chage
Marre des comptes expirés sous Linux ? Vous pouvez régler ce souci en une commande : chage ! Il faut néanmoins être root pour le faire.
chage -m 0 -M -1 -W -1 -E -1 user
Ensuite pour vérifier que toutes les options ont été prises en compte, tapez :
chage -l user
Merci aux collègues qui m'ont renseigné à ce sujet, ils se reconnaîtront :)
lundi 2 mars 2009
Partitions de type LVM : Comment augmenter la taille d'un filesystem à chaud ?
Je vais placer le décor.
Vous avez une base de données et les données sont stockées dans un filesystem plein à craquer. Vous avez déjà entendu parler de la méthode d'augmentation de la taille d'un filesystem classique, à savoir :
- arrêter la base de données d'abord
- étendre la partition logique
- démonter le filesystem concerné
- vérifier l'intégrité du lv
- augmenter le lv concerné
- remonter le répertoire concerné
- relancer la base de données
Aujourd'hui, j'ai appris par l'intermédiaire d'un collègue (que je remercie au passage), que ces 7 étapes peuvent être facilement remplacées par 2 étapes ! Tout ceci pour dire qu'il est possible d'augmenter la taille d'un filesystem à chaud !!
Ci-dessous les deux étapes :
Commande n°1 : lvextend -L+1G votre_lv
- -L, --size [+]LogicalVolumeSize[kKmMgGtTpPeE]
- Extend or set the logical volume size in units of megabytes. A size suffix of M for megabytes, G for gigabytes, T for terabytes, P for petabytes or E for exabytes is optional. With the + sign the value is added to the actual size of the logical volume and without it, the value is taken as an absolute one.
Commande n°2 : ext2online /votre_fs
Plus d'options pour le lvextend :
- -L, --size [+]LogicalVolumeSize[kKmMgGtTpPeE]
- Extend or set the logical volume size in units of megabytes. A size suffix of M for megabytes, G for gigabytes, T for terabytes, P for petabytes or E for exabytes is optional. With the + sign the value is added to the actual size of the logical volume and without it, the value is taken as an absolute one.
mercredi 3 décembre 2008
Erreur classique avec la commande sed : écrasement de fichier !
Il existe une erreur classique à ne pas commettre avec la commande sed :
REDIRIGER LA SORTIE DE LA COMMANDE VERS UN FICHIER AYANT LE MÊME NOM
Exemple :
sed '/server.*/d' file > file
Cette commande recherche les lignes du fichier file contenant le motif "server" et la supprime. Le problème c'est que le fichier d'origine est écrasé par la redirection. En effet, il faut rediriger la sortie vers un fichier ayant un nom différent sous peine de perdre définitivement le fichier d'origine. Ce qui serait vraiment dommage !
mercredi 19 novembre 2008
Exemple d'utilisation de la commande sed : extraction de lignes
Vous connaissez déjà la structure de votre fichier à parser et vous souhaitez extraire des lignes précises. Ci-dessous un exemple d'utilisation de la commande sed :
# extraction des lignes 24 à 34 du fichier resultat_Test et copie de ce fichier dans file.txt
sed -n '24,34p' resultat_Test.txt > file.txt
mardi 18 novembre 2008
Copie par scp et connexion ssh sans mot de passe
Je dois réaliser un script qui effectue entre autres des copies de fichiers vers un autre serveur, mais je me vois mal le lancer manuellement et taper le mot de passe à chaque fois.
J'ai trouvé la solution sur ce site : Connexion à distance sécurisée.
L'idée est de générer une clé publique et de la partager avec le serveur avec lequel on veut communiquer. Ci-dessous les manips nécessaires :
[user@serveur1 ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/users/user1/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /users/user1/.ssh/id_dsa.
Your public key has been saved in /users/user1/.ssh/id_dsa.pub.
The key fingerprint is:
3c:**:a6:**:e0:**:5f:**:e7:**:25:**:b1:**:7f:** user@serveur1
[user@serveur1 ~]$ vi .ssh/id_dsa.pub
# éditer le fichier et copier la ligne entière dans le fichier /users/user/.ssh/authorized_keys du serveur2
[user@serveur1 ~]$ ssh serveur2
# pas besoin de mot de passe !!!
[user@serveur2 ~]$ logout
Connection to xx.xx.xx.xx closed.
#Je lance mon script qui fait de la copie de fichier :
#/usr/bin/scp /users/user/file.log user@serveur2:/users/user/file.log
[user@serveur1 ~]$ ./scriptCopieFichier.ksh
file.log 100% 37KB 37.3KB/s 00:00
Le fichier a été transféré sur le serveur 2 sans avoir eu besoin de taper le mot de passe.







