Table des matières

Installation identiques .deb

dpkg --get-selections >fichier.lst

apt-get update
dpkg --set-selections < fichier.lst
apt-get dselect-upgrade

Eboueurs - c'est le printemps !

0 1 * * * root find /tmp -type f -atime +7 -exec rm {} \; && find /tmp -type f -ctime +1 -exec gzip -9 {} \; 2>/dev/null

4allsrv

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 (<SSHCMD>) {
                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 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 (<PS>) {
    chomp($proc);
    my $swap=0;
    if(open (SW,$proc."/smaps")) {
        while(<SW>) {
            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(<STDIN>) {
        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

Disque en 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"