Tuer plein de processus !
La commande magic pour par exemple tuer tous les processus qui contiennent « relaylock » :
kill `ps aux | grep relaylock | egrep -v grep | awk ‘{print $2}’`
Très pratique quand on a 1500 processus à tuer ! 😀
La commande magic pour par exemple tuer tous les processus qui contiennent « relaylock » :
kill `ps aux | grep relaylock | egrep -v grep | awk ‘{print $2}’`
Très pratique quand on a 1500 processus à tuer ! 😀
Vous partez en vacances ? vous voulez surveiller votre société à distance ?
Voici comment mettre en place une surveillance par webcam qui fonctionne sur la detection de mouvement et permet d’envoyer les images capturées sur un serveur distant.
Installer le logiciel Motion :
Ce logiciel permet de capturer et de lancer des événements lors d’une detection de mouvement sur la webcam
sudo apt-get install motion
Editez le fichier de configuration :
sudo nano /etc/motion/motion.conf
Editer la ligne :
; on_picture_save value
par
on_picture_save wput ftp://username:password@serveur/chemin %f
Remplacez :
username : par votre login FTP
password : par le mot de passe de votre FTP
serveur : par l’adresse de votre serveur FTP
chemin (option) : par le chemin ou vous désirez sauvegarder les captures
Votre webcam USB est logiquement présente sur : /dev/video0, si ce n’est pas le cas, faites la correction via la ligne :
videodevice /dev/video0
Modifier aussi le chemin ou est sauvegardé les images capturé en local :
target_dir /tmp/motion
Installer le logiciel wput :
wput permet d’envoyer des fichiers sur un serveur FTP
sudo apt-get install wput
Vous pouvez maintenant lancer le logiciel motion à votre départ en tapant la commande : motion
Munin est très pratique et permet de générer de nombreux graphiques différents pour suivre un serveur (ou un poste client !) ou plusieurs serveurs !
Sur le poste qui affichera les graphiques :
sudo apt-get install munin munin-node
Munin est l’outil central, l’outil qui génére les graphiques et va chercher les informations récupérée par munin-node.
Munin-node est donc, pour les postes clients le seul paquet à installer.
Configuration de munin-node (postes clients) :
Editer fichier ;
/etc/munin/munin-node.conf
A la fin du fichier vous devez donner les adresses IP autorisé à accéder aux informations de ce client.
Si vous désirez ajouter l’IP : 123.123.123.123, ajoutez :
allow ^123\.123\.123\.123$
Relancez ensuite le client :
sudo /etc/init.d/munin-node restart
Configuration de munin (serveur) :
Indiquez le chemin ou munin publiera les fichiers HTML avec tous les graphiques, par exemple :
htmldir /var/www/munin
Ensuite ajoutez les différents clients, si vous voulez ajouter le client : 123.123.123.124
[123.123.123.124]
address 123.123.123.124
use_node_name yes
Pour générer les graphiques manuellement :
sudo /usr/bin/munin-cron --force-root
Vous pouvez ajouter une ligne dans un cron :
sudo crontab -e
et ajoutez par exemple :
*/5 * * * * /usr/bin/munin-cron --force-root
Les graphiques seront mis à jour toutes les 5 minutes.
Plugins
Tous les plugins ne sont pas actifs par défaut.
Il se trouve dans le dossier :
/usr/share/munin/plugins
Par exemple, pour activer le plugins apache_access, vous devez créer un lien symbolique :
cd /etc/munin/plugins/ln -s /usr/share/munin/plugins/apache_access/etc/init.d/munin-node restart
Rien de plus simple pour personnaliser le message d’accueil du shell, vous pouvez éditer le fichier :
/etc/motd
et
/etc/motd.tail
Le premier est régénéré le second à chaque redémarrage du PC.
L’utilisation de la technologie LightScribe peut parfois s’averer utile, voici quelques solutions pour l’utiliser sous Ubuntu
Solution 1 (un outil simple uniquement pour labellisé les CD) :
Télécharger les packets suivants :
http://download.lightscribe.com/ls/lightscribe-1.14.32.1-linux-2.6-intel.deb
http://download.lightscribe.com/ls/lightscribeApplications-1.10.19.1-linux-2.6-intel.deb
Installez ensuite les 2 paquets.
dpkg -i lightscribe-1.14.32.1-linux-2.6-index.deb
dpkg -i lightscribeApllications-1.10.19.1-linux-2.6-intel.deb
Pour lancer l’utilitaire, executer la commande :
/opt/lightscribeApplications/SimpleLabeler/SimpleLabeler
Solution 2
Seconde interface graphique :
Téléchargez :
http://www.lacie.com/download/drivers/4L-1.0-r6.i586.rpm
Vous devez ensuite transformer le .rpm en .deb, pour cela vous devez avoir l’utilitaire « alien », si vous ne l’avez pas :
apt-get install alien
Ensuite lancez la commande :
sudo alien 4L-1.0-r6.i586.rpm
Et installer le packet généré :
sudo dpkg – i 4L-1.0-r6.i586.deb
Pour lancer l’utilitaire :
4L-gui
Si vous avez un site internet, il est important d’avoir des sauvegardes journalières de votre site :
Plusieurs modes de sauvegarde existent, le problème devient plus délicat quand la quantité de données à sauvegarder deviens importante.
Dans l’exemple suivant, nous mettons en place une sauvegarde d’un site d’un serveur vers un PC distant.
Pour cela nous avons besoin d’avoir rsync d’installé sur le serveur et le PC distant.
sudo apt-get install rsync
Sur le PC distant (qui va recevoir les sauvegardes), rsync doit fonctionner en mode serveur, pour cela nous devons modifier son fichier de configuration :
sudo nano /etc/default/rsync
La variable RSYNC_ENABLE doit être à true :
RSYNC_ENABLE=true
Nous devons ensuite préparer le dossier qui recevra la sauvegarde du serveur :
Créons un dossier :
mkdir /home/backup
Ce dossier doit être accessible par rsync.
Nous devons commencer par ajouter un utilisateur rsync :
sudo useradd rsyncsudo passwd rsync
Et un groupe rsync :
sudo groupadd rsyncsudo gpasswd -a rsync rsync
Et nous pouvons ainsi donner les droit au dossier de sauvegarde :
chown -cR rsync:rsync /home/backupchmod -cR 0777 /home/backup
Nous devons maintenant editer le fichier du deamon rsync :
sudo nano /etc/rsyncd.conf
Lors de la premiere installation de rsync, ce ficheir n’existe pas.
Nous lui indiquons le nom d’user et le groupe que rsync doit utiliser :
uid = rsyncgid = rsync
Ensuite nous lui indiquons ou devrons être placé les fichiers de sauvegarde :
[ma_sauvegarde]path = /home/backupcomment = Ma sauvegarderead only = false
La configuration du côté du PC distant est terminée, passons maintenant du côté serveur.
La commande a lancer si nous voulons sauvegarder le dossier /var/www vers le PC distant ayant l’IP 88.123.123.123 :
rsync -avz /var/www/ 88.123.123.123::ma_sauvegarde/
La première sauvegarde sera bien entendu beaucoup longue que les suivantes : seuls les modifications seront sauvegardées les fois suivantes !
Votre PC distant doit être accessible via le port 873 TCP.
Vous pouvez ensuite automatiser votre backup de façon journalière via un CRON.
La nouvelle version de Plesk apporte son lot de nouveautés mais aussi son lot de bugs !
Un bug plutôt génant : les limitations ne fonctionnent pas…
Un message d’erreur apparait lorsqu’un limite est dépassée :
Error: Unable to create notification: Notification: unable to select: no such row in the table
Une astuce existe, le temps de l’arrivée d’un patch :
Allez sur la base de données « psa » et rendez-vous sur la table « Notifications ». Vous devriez y trouver 12 enregistrements. Il en manque…
Vous devez créer des enregistrements vides (pourquoi ? aucune idée), voici la requête à exécuter sur la base de données :
INSERT INTO `Notifications`
( `id` , `status` , `send2admin` , `send2client` , `send2dlu` , `send2email` , `email` , `subj` , `note_id` , `send2reseller` )
VALUES
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , ''),
(NULL , '', '', '', '', '', '', '', NULL , '');
Il est parfois utile lors de développement d’applicatif d’utiliser une base de données regroupant l’intégralité des villes d’une pays (ou de plusieurs) pour y retrouver code postal, latitude, longitude et ainsi pouvoir créer des applicatifs de géolocalisation (comme par exemple le CRM Elyazalée).
Des fichiers gratuits regroupant de nombreuses informations sur toutes les villes mondiales existent ! On peux ainsi connaitre la position géographique précise de chaque ville, le code postal, le nombre d’habitants, etc…
Les fichiers (format CSV) sont disponibles à l’adresse : http://download.geonames.org/export/dump/
Chaque pays à son propre fichier.
Il est intéressant de pouvoir intégrer ces fichiers dans une base de données ! Je déconseille d’intégrer l’intégralité de toutes les villes dans une seule table (> 6 millions)… il est nécessaire de créer une table par pays.
Voici la démarche pour la création de la table des villes française…
Commençons par créer la structure de la table :
CREATE TABLE geoname_fr (
geonameid int PRIMARY KEY,
name varchar(200),
asciiname varchar(200),
alternatenames varchar(4000),
latitude decimal(9,7),
longitude decimal(9,7),
fclass char(1),
fcode varchar(10),
country varchar(2),
cc2 varchar(60),
admin1 varchar(20),
admin2 varchar(80),
admin3 varchar(20),
admin4 varchar(20),
population int,
elevation int,
gtopo30 int,
timezone varchar(40),
moddate date
) CHARACTER SET utf8;
Télécharger ensuite le fichier des villes française : http://download.geonames.org/export/dump/FR.zip
Dézippez le fichier.
Ensuite depuis le shell (ou dos…) :
LOAD DATA INFILE 'c:\chemindufichier\FR.txt' INTO TABLE geoname_fr (geonameid,name,asciiname,
alternatenames,latitude, longitude,fclass,fcode, country,cc2, admin1,admin2,admin3,admin4, population,elevation,gtopo30, timezone,moddate);
Et voilà vous avez une belle table avec toutes les villes de France !
Si vous avez besoin de l’intégralité des pays, faites un petit script pour générer les différentes tables et ensuite y importer les différents fichiers !
Amusez-vous bien !
Une petite astuce pour tout ceux qui viennent d’installer la nouvelle version de Plesk 9.0.0 :
Le module de backup ne fonctionne pas…
Quand vous lancez une sauvegarde vous obtenez le sympathique message :
Erreur: Runtime error in pmmcli:
exceptions.UnicodeEncodeError 'ascii' codec can't encode character u'\xe9' in position 49: ordinal not in range(128)
Traceback (most recent call last):
File "/opt/psa/admin/share/pmmcli/pmmcli.py", line 1417, in main
data_action_response, errcode_response, error_message = actions.get(sys.argv[1][2:])(parameters)
File "/opt/psa/admin/share/pmmcli/pmmcli.py", line 1338, in make_dump
return ActionRunner(MakeDumpAction, backup_task_description, None).doActivity()
File "/opt/psa/admin/share/pmmcli/pmmcli.py", line 67, in doActivity
result = self.processor.doActivity()
File "/opt/psa/admin/share/pmmcli/pmmcli.py", line 943, in doActivity
subprocess = cmd.asyncSpawn()
File "/opt/psa/admin/lib/python/subproc.py", line 219, in asyncSpawn
keepStderr = keepStderr)
File "/opt/psa/admin/lib/python/subproc.py", line 62, in __init__
self.__forkexec()
File "/opt/psa/admin/lib/python/subproc.py", line 90, in __forkexec
self.__process = subprocess.Popen(self.__args, stdin = self.__stdin , stdout = self.__stdout, stderr = self.__stderr, env = self.__env)
File "subprocess.py", line 543, in __init__
errread, errwrite)
File "subprocess.py", line 975, in _execute_child
raise child_exception
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 49: ordinal not in range(128)
La première solution consiste simplement à mettre Plesk en version anglaise car le bug est causé par la présence d’accents dans le descriptif (ou titre) de la backup…
La deuxième solution, si vous voulez rester en Plesk francisé, suffit de modifier les fichiers suivants :
/opt/psa/admin/plib/locales/fr-FR/common_messages_fr-FR.php
/opt/psa/admin/plib/locales/fr-FR/messages_fr-FR.php
Remplacez les différents « Date de création » par « Date de creation » dans chaque fichier.
Lancez une backup manuelle pour vérifier !
A noter : les anciens fichiers de backup de la version précédente de Plesk ne sont pas visibles : les nouveaux formats des fichiers de backups est en .tar…