====== Installation identiques .deb ======
* Recuperation de la liste des paquets
dpkg --get-selections >fichier.lst
* Application des paquets
apt-get update
dpkg --set-selections < fichier.lst
apt-get dselect-upgrade
* Pour l'application des conf, regarder la doc de debconf
====== Eboueurs - c'est le printemps ! ======
* Nettoyage automatique des FS
- On efface tout les fichiers qui ont plus de 7 jours sans accés
- Si ca c'est bien passé on compress tout les fichiers qui ont une date de creation de plus de 1 jour.
0 1 * * * root find /tmp -type f -atime +7 -exec rm {} \; && find /tmp -type f -ctime +1 -exec gzip -9 {} \; 2>/dev/null
====== 4allsrv ======
* Script dans un premier temps fait par Mikhael
* Fait ainsi car dans les boucles en shell, la boucle etait cassée, donc...
root@cortex:~# cat /usr/local/sbin/4allsrv
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Std;
my $opt_string = "s:c:y";
my %opt;
getopts( "$opt_string", \%opt );
if(!defined($opt{s})) {
print "Merci de selectionner les serveurs a manipuler, pex:\n";
print " -s cortex,cubitus,aznar,smax,laotseu,hector,flagada,ordralfabetix\n";
print "ou\n";
print " -s cortex,cubitus,aznar,smax,laotseu,flagada,ordralfabetix\n";
exit;
}
my @ips=split(/,/,$opt{s});
if(!defined($opt{c})) {
print "Merci de lancer une commande, pex:\n";
print " -c \"ssh-copy-id root\@IPADDRESS\"\n";
print " -c \"ssh IPADDRESS 'uptime'\"\n";
print " -c \"scp cluster.conf IPADDRESS:/etc/cluster/cluster.conf\"\n";
print " -c \"ssh IPADDRESS 'hostname; cat /proc/partitions | grep vdb'\"\n";
print " -c \"ssh IPADDRESS \\\"echo -en '[rhel60]\\nname=Redhat EL 6\\nbaseurl=http://192.168.122.1/rhel60/Server\\nenable=1\\n[rhel60cd]\\nname=Redhat EL 6 - cd\\nbaseurl=http://192.168.122.1/rhel60\\nenable=1\\n' >/etc/yum.repos.d/rhel-cd.repo\\\"\"\n";
exit;
}
my $cmd=$opt{c};
foreach my $ip (@ips) {
print "Procession $ip\n";
$cmd =~ s/IPADDRESS/$ip/;
open (SSHCMD, $cmd . " | ");
while () {
print $_;
}
close(SSHCMD);
$cmd =~ s/$ip/IPADDRESS/;
}
FIXME: Faire une fnc **usage**
====== Quels sont les process qui sont dans le swap ? ======
ps aexo pid | while read pid ; do cat /proc/$pid/smaps | grep Swap | awk -v pname=$pid '{ TOTALSWAP += $2} END { print pname, TOTALSWAP }'; done | grep " [1-9]" | sort -nk2
Et comme la reine et le roi ne le veulent pas, cela varie en fonction des versions du kernel, de ps, etc...
en gros aller jetter un oeuil par [[http://monblog.system-linux.net/blog/2011/09/03/connaitre-processus-swap-linux/|là]] est une bonne idée a mon sens.
#!/usr/bin/perl
### Porcios Code by Antoine Delaporte
### License GPL 2
open(PS,"ls -d /proc/[0-9]* |");
foreach my $proc () {
chomp($proc);
my $swap=0;
if(open (SW,$proc."/smaps")) {
while() {
if(/^Swap:/) {
s/.*\s(.*)\s.*\s/$1/g;
$swap+=$_;
}
}
close(SW)
}
if($swap) {
my $lnk=readlink($proc."/exe");
$proc=~ s/^\/proc\///g;
print "$swap $proc $lnk\n";
}
}
close(PS);
====== Stdout 2 SysLog ======
#!/usr/bin/perl -w
use strict;
use Sys::Syslog;
openlog($ARGV[0], 'nofatal,nowait', 'user');
while() {
syslog('notice', $_);
}
closelog();
Et quand on est un grand garcon on utilise la fonction systeme **logger**
Et si on est joueur:
echo netcat:"Host test log" | nc -u -w 1 127.0.0.1 514
====== Réaction a presence d'un nouveau fichier dans un repertoire ======
Petit script de « spool » pour lancer une action lorsqu’un fichier est créé dans un rep
(merci Adrien J.)
#!/bin/sh
queuedir="/tmp"
while id=$(inotifywait -q -e create --format "%f" "$queuedir"); do
filename=doc${id:1}.pdf.${id:1}
echo $queuedir/$filename
done
====== Desactivation touchpad ======
* synclient TouchpadOff=1
* [[http://doc.ubuntu-fr.org/touchpad]]
====== Disque en SSD ======
* [[http://blog.philippklaus.de/2011/02/ssd-optimizations-on-linux/]]
* [[http://www.01net.com/editorial/556112/astuce-firefox-optimisez-le-cache-pour-les-disques-ssd/]]
===== Manip kernel =====
Grub
===== Manip fstab =====
===== Manip FireFox =====
shm
====== Vpnc avec des confs ds le $PWD ======
Creer un script (ou un alias) comme suit:
adlp@wurzel:/usr/local$ cat bin/vpn
#!/bin/bash
sudo /usr/sbin/vpnc --no-detach $PWD/$*
Et n'oubliez pas la maj du sudoers :
%admin ALL = NOPASSWD: /usr/sbin/vpnc
====== FtpS en LDC ======
adlp@wurzel:~$ lftp ServeurFTP -u User,Password -e "set ssl:verify-certificate no"