Linux: ====== monitorer les fichier /usr/sbin/lsof | wc -l comtpe le nbr de fichier ouvert cat /proc/sys/fs/file-nr - Number of allocated file handles - Number of used files handles - maximum number of file handles verifie qu'elle est la machine qui repond dans le dns nslookup hifiphotovideo.fr2.benchmark.kelkoo.net ssh -ltests 192.168.2.4 netstat: Permet de regarder les sockets/port (netstat -h pour help) netstat -lep (l: listenning e:+user+inode p:+pid) netstat -an | grep -i 1234 (a:all (default connected) n:numeric (don't resolve name)) tcpdump lsof -i tcp:1234 recherche le fichier ouvert sur tcp: port 1234 verification des process qui tourne dont le nom commence | le grep est obligé pour voir toute la ligne ps --help (notice) ps -edf | grep kelkoo (-e:all confprocess -d:all except cession leader -f:full output detaill./LeadsLog.1109808000 ps -efl | grep -i moz ps -ef --cols=2000 ps aux | grep -java ps a (on voit la ligne de commande passé et on reduit a l'utilisateur courant) kill -2 `ps -efl|grep -i java|awk '{print $4}'`'' (kill tous les process java) killall httpd (par le nom du process) df -k : permet de voir les partoche df -h : human readeable du -h : taille des rep et tous se qu'il y'a dessous du -hs ./* : montre tous les sous rep pour faire la relation entre iostat les partoche les volume logique (equivalent c: monter à cheval sur des hdd) et les pts de montage utiliser: sbin/vgscan /sbin/lvdisplay /dev/Volume00/opt nmon : concurrent de vmstat (plein d'option avec h) iostat : pour les entrée sortie rm -rf (vire les dir) pwd (savor ou on est) linux: find . -name *.xml (recherche ts les fichier xml a partir du courant) aix: find . -name "*.xml" nslokup pour recup les alias d'une ip Fichier: ======== ln -s /home/gadillel/tests/src/tests/clientServer/CSConf CSConf (pointe le rep CSConf ver le rep ....) ln -fs kelkoopws-1.18.jar kelkoopws.jar (pointe kelkoopws.jar vers 1.18) wich mysql whereis mysql find / -name mysql permet de savoir ou est placer le mysql wc -l cs-error_log. : compte le nombre ligne cat cs-error_log.1097712000|grep timed|wc -l // permet de compter le nombre de fois ou on trouve timed uniq -u acc | wc -l -> compte le nombre de ligne unique dans le fichier //compte le nombre de ligne unique (les trier dabord) cat MerchantLeads_uk_100308013_20050320 | sort | uniq -c H : affichage i: ignore case c: count grep -i "ApJServSecretKey" /opt/public/apache/*/* (recherche la string dans les fichier) grep -c timed cs-error_log.1097712000 // permet de compter le nombre de fois ou on trouve timed grep -RH bocker.kelkoo.se * // le moins H permet d'afficher le noms du fichier ou on la trouvé (cat jserv_1-error_log.1113782400 | grep CACHE |grep -v '\[\]' ) 2>&1 | grep -v Maximum user droit: ------------- chmod 777 server: 004 permits read by other R 002 permits write by other W 001 permits execute by other X x: user x:groupe x:autre passwd lionel (changer le password de lionel) chown lionel /opt/public/apache/* :donne les fichier au user lionel chown -R lionel /opt/public/* :donne tous les fichier sous le rep au user lionel mount: permet d'aficher tous les montages de la machine le /etc/fstab contient les point de montage par default mount -a rejout le fstab montage d'un cd mount -t iso9660 /dev/scd0 /mnt/cdrom env export: ----------- export ANT_LIBS=/home/lionel/cvs-stat/tests/javalib export JAVA_HOME=/usr/java/jdk PATH="$PATH:/usr/java/jdk/bin" on peux editer le ~/.basrc ~ pour home user courant pour mettre en dur des trucs sous tchs le export ce transforme en setenv le .basrc en .tchs setenv ANT_LIBS /home/lionel/cvs-stat/tests/javalib setenv JAVA_HOME /usr/java/jdk Copy via ssh ============ scp lionel@r6:/opt/public/javalib/pouri.jar lionel@pren.benchmark.kelkoo.net:/opt/public/javalib/pouri.jar scp -r lionel@r6:/opt/public/javalib/ lionel@pren.benchmark.kelkoo.net:/opt/public/javalib/ copie tous le repertoir et sous repertoir (ssh mel21lio@yd-collector.ro.kelkoo.ird.yahoo.com: "cd /opt/logs/consolidated/fr/2008/200807;tar -cf - *20080701* ")|tar -xf - User: ===== pour connaitre qui on est est à qu'elle groupe on apartient : id useradd creation de user goupeadd passwd pour changer de pasword https://phoenix.kelkoo.net/data/corp/rdteam/twiki/bin/view/TIteam/PlatformEnvironment Processus: ========== crtl+Z : pause bg: background fg: for groud kill -9 pid : kill fort sur le processus pid kill -2 `ps -efl|grep -i java|awk '{print $4}'`'' redirection: ============ erreur et standart dans le standard aix : ./startInjector-25us-20rs.sh > toto.log 2>toto.err linux : ./startInjector-25us-20rs.sh > her.out.log 2>&1 TAR: ==== ----- pour linux ------- tar -czvf toto.tgz ./directory tar -xzvf toto.tgz z est pour compression v verbose f file c compression x expand t verifie le contenue ----- aix -------------------- Compress: gzip archive.tar Decompress: gunzip archive.tar.gz puis y passé en tar tar -tvf ------------------------------- RPM: ==== rpm -i foobar-1.0-1.i386.rpm rpm -e foobar Install: rpm -ivh foo-1.0-1.i386.rpm i : install v : verbose h : human rpm -ivh --replacefiles --nodeps foo-1.0-1.i386.rpm Uninstall rpm -e foo Upgrade rpm -Uvh foo-2.0-1.i386.rpm Query rpm -q foo rpm -a -a queries all currently installed packages. -f will query the package owning . -p queries the package -i displays package information including name, description, release, size, build date, install date, vendor, and other miscellaneous information. -l displays the list of files that the package contains. -s displays the state of all the files in the package. -d displays a list of files marked as documentation (man pages, info pages, README's, etc). -c displays a list of files marked as configuration files. These are the files you change after installation to adapt the package to your system (sendmail.cf, passwd, inittab, etc). ------------------- SAMBA: ====== fichier de conf /etc/samba/smb.conf client samba /usr/bin/smbclient list des dir windows partagé /usr/bin/smbclient -L kevin.gadille.free.fr -U administrateur (pass: mel21lio) connection temporaire: /usr/bin/smbclient //kevin.gadille.free.fr/Webtesting -U administrateur Mount du rep windows: root smbmount //kevin.gadille.free.fr/Webtesting /mnt/windows -o username=administrateur utiliser le root only styl gedit CRONTAB: ======== crontab -l lire 30 21 * * * http://www.linux-pour-lesnuls.com/crontab.php minute heure jours(du mois) mois anné jour de la semaine ici tous les jours a 21h30 00 7 * * 1-5 /home/tests/pws/classes/run.sh la a 7h du 1er au 5eme jours de la semaine crontab -e ecrire minute 0-59 The exact minute that the command sequence executes. hour 0-23 The hour of the day that the command sequence executes. day 1-31 The day of the month that the command sequence executes. month 1-12 The month of the year that the command sequence executes. weekday 0-6 The day of the week that the command sequence executes. Sunday=0, Monday = 1 Tuesday = 2,merc= 3 ,jeu=4,vendredi =5 and so forth. sendmail : ========== cat toto.txt | sendmail toto@kelkoo.fr mail -s "sujet blabla" toto@kelkoo.fr blabla ------------ ssh clés : ========== Cles rsh pour ne pas avoir a entré le password ================================== 1) Génération de la clés : --------------------------------- Ne pas regénérer la clés si elle existe . Pour le savoir fair un ls .ssh/ id_dsa.pub (clés dsa public pour linux) id_rsa.pub (clés rsa public pour aix) si la clés exite aller au chap2 a) générations des clés Sur la machine client (ou l'on passe les tests) Générer les cles public et prive (attention ne pas entré de passphrase) - ssh-keygen -t rsa (aix) - ssh-keygen -t dsa (linux) aller au chap2 b) pour créer d'autre clés si on a perdue la clés public par exemple mais que l'on veux conserver l'axés - ssh-keygen -f toto (créer les clés dans toto) Copier la clé priver a la suite des autres(id_rsa doit exister sinon ne pas fair le -f (ecrasement)) - cat /home/lionel/.ssh/toto >> id_rsa (remplacer lionel par son user) 2) Copier la cléspublic vers le serveur ------------------------------------------------- a adapter si cas b) ~ pour le home user courant (linux) scp ~/.ssh/id_dsa.pub lionel@gadille.free.fr:~/.ssh/new-authorized_keys scp ~/.ssh/id_dsa.pub lionel@bashful.gadille.free.fr:~/.ssh/new-authorized_keys scp ~/.ssh/id_dsa.pub lionel@sneezy.gadille.free.fr:~/.ssh/new-authorized_keys scp ~/.ssh/id_rsa.pub lionel@fangthane.gadille.free.fr:~/.ssh/new-authorized_keys2 (aix) 3) Placer la clé public avec les autres (sur serveur amok pui fangthane) cat ~/.ssh/new-authorized_keys >> ~/.ssh/authorized_keys (linux) cat ~/.ssh/new-authorized_keys2 >> ~/.ssh/authorized_keys2 (aix) verifier les droit: chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 600 .ssh/id_dsa chmod 644 .ssh/authorized_keys chmod 644 .ssh/authorized_keys2 chmod 755 integ (integ est le user) le home aussi sinon la clés est rejeter sans explication 4) verifier que sa marche (du client ) ssh lionel@amok ls /home (aucun mots de pass ne doit etre demander accepter la clés par yes) attention on doit reacepter le host pour amok.gadille.free.fr amok.benchmark.kelkoo.net si probleme fair un ssh -vv lionel@amok ls pour verbose et chercher :) voir aussi sur la cible (serveur) !!!!!! important -> tail -f /var/log/secure !!!!!!!!!!!! si rejecter verifier verifier le /etc/security/limits.conf .... tous doit etre commenter On peux placer un rediriger les flux de sorties standards sous Bash : =================================================== commande 1> fichier Redirige la sortie standard générée par la commande (stdout) dans fichier commande 2> fichier Redirige la sortie d'erreur standard généré par la commande (stderr) dans fichier commande 2>&1 Redirige stderr vers stdout commande &> fichier Redirige stdout et stderr dans fichier DATE Timestamp: ================ creation d'un time stamp a partir de la date courante date +%s reconvertie en date date -d "1970-01-01 UTC +1160366576 seconds" split : permet de couper un fichier -------------------------------------------------------------- :: Commandes fondamentales Se déplacer dans les répertoires: (Change Directory) (cd..) Remonte d'un niveau (cd/ ) Retourne à la racine (cd -) Retourne au répertoire précédent -------------------------------------------------------------------------------- Lister les fichiers d'un répertoire: (List Sorted) ls -l permet de lister les attributs des fichiers ls -a liste tous les fichiers du répertoire y compris les fichiers cachés. ls -m affiche les fichiers en les séparant par une virgule. ls -t affiche les fichiers par date. ls -lu affiche les fichiers par date du dernier accès et indique la date. ls -F affiche les fichiers par type ls -S affiche les fichiers triés par ordre de taille décroissante. ls -X affiche les fichiers par type d'extension ls -r affiche les fichier en ordre alphabétique inverse ls -alR / Affiche tous les fichiers d un système ls -alR |grep doc Affiche tous les fichiers contenant doc -------------------------------------------------------------------------------- Copier un fichier ou un répertoire: (copy) cp vous demande s'il peut écraser "nom de fichier" : répondre par "y"(yes) ou "n" cp -i avertit l'utilisateur de l'existence d'un fichier du même nom et demande s'il peut ou non remplacer son contenu. cp -l permet de faire un lien en "dur" entre le fichier source et sa copie cp -s permet de faire un lien "symbolique" entre le fichier source et sa copie cp -p permet lors de la copie de préserver toutes les informations consernant le fichier. cp -r permet de copier de manière récursive l'ensemble d'un répertoire et de ses sous-répertoires cp -b permet comme l'option -i de s'assurer que la copie n'écrase pas un fichier existant : le fichier écrasé est sauvegardé, seul le nom du fichier est modifié et cp ajoute un tilde(~) à la fin du nom de fichier -------------------------------------------------------------------------------- Supprimer des fichiers et répertoires: (remove & remove directory) Permet de supprimer un répertoire qu'il soit plein ou non: rm -d Permet de supprimer un répertoire et ses sous-répertoires: rm -r Permet de supprimer les fichiers protégés en écriture et répertoires sans confirmation: rm -f Supprime un répertoire: rmdir Supprime le répertoire et ses sous répertoire associés: rmdir p rep1/rep2/rep3 -------------------------------------------------------------------------------- Créer des répertoire: (make directory) Crée un répertoire: mkdir Crée un répertoire et ses sous répertoires associés: mkdir -p rep1/rep2/rep3 -------------------------------------------------------------------------------- Déplacer ou renommer un fichier: (move) mv -b va effectuer une sauvegarde des fichiers avant de les déplacer mv -i demande pour chaque fichier et chaque répertoire s'il peut ou non le déplacer mv -u demande a "mv" de ne pas supprimer le fichier si la date de modification est la même ou plus récente que son remplaçant. -------------------------------------------------------------------------------- Recherche, analyse, modification de contenus Chercher a partir de la racine du fichier en court: find / Spécifier un nom de fichier: find -name Afficher le resultat a l'écran: find -print Retrouver un fichier: (find, locate et which) Affichage des différences entre fichiers: diff Comparaison binaire: cmp Voir un fichier: cat et more Tri des lignes: sort Emplacement du montage des systèmes de fichiers (partitions utilisables) et l'espace restant sur chacun d'eux: df Permet d'appliquer des commandes sur un fichier et d'afficher le résultat (sans modification du fichier): Sed Donne la place du disque utilisée par le répertoire courant: du Comptage des mots, lignes ou caractères: wc Donne le type de fichier: file Où suis-je ?: pwd Trouver une expression rationnelle dans un fichier: (grep) Donne le nombre de fois ou l'expression rationnelle a été trouvée dans le fichier: grep -c Pour rechercher des expressions rationnelles commencent par un tiret: grep -n -------------------------------------------------------------------------------- Commandes Divers Permet de connaître le chemin d'un exécutable: which Affiche la liste des fichiers d'une disquette MS-Dos: mdir Crée un nom de fichier temporaire unique: mkmode Éditer un fichier: emacs, joe UNIX permet de créer plusieurs liens sur un même fichier avec la commande : ln Liste les utilisateurs connectés sur la station: who Mémoire utilisée: free Efface l'écran: clear Met à jour les dates d'accès des fichiers: touch Permet de fermer son compte utilisateur: logout Permet de savoir sous quel nom on est logué: logname Archivage de données : la commande: tar quitte: q