• STATISTIQUES
  • Il y a eu un total de 3 membres et 7706 visiteurs sur le site dans les dernières 24h pour un total de 7 709 personnes!


    Membres: 2 456
    Discussions: 3 576
    Messages: 32 826
    Tutoriels: 77
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [EN] SecurityFocus
    SecurityFocus a été conçu pour faciliter la discussion sur des sujets liés la sécu...
    Vulnérabilités
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Utiliser inotify avec bash
15-09-2014, 19h17
Message : #1
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,617
Sujets : 73
Points: 467
Inscription : Jan 2012
Utiliser inotify avec bash
Bonjour à tous !

Ayant une collection de wallpapers assez "grande" dans un dossier dédié, et utilisant Gnome 3 (qui ne voit pas les fonds d'écran en-dehors du dossier ~/Images, et ne permettant pas de set son répertoire de wallpapers soi-même), j'ai décidé de créer un petit script bash qui surveillerait cette collection et qui regénérerait le xml permettant à gnome de lister mes wallpapers de ce répertoire afin de prendre en compte mes nouveaux wallpapers.

J'ai donc pu faire connaissance avec "inotifywatch", une commande bien sympathique qui permet de surveiller un ou plusieurs répertoires et de balancer une ligne sur stdout à chaque changement qui a lieu sur le(s) répertoire(s) surveillé(s), ce qui le rend fort utile couplé à un while.
Cette commande se trouve dans inotify-tools (du moins sur archlinux Big Grin), et je vous laisse vous référer à la manpage pour plus d'infos Wink

Donc sans plus attendre, le petit script que je me suis concocté (sûrement perfectible n'étant pas expert en bash, cc Notfound Wink):

Code BASH :
#!/bin/bash

make_header () {
cat << EOF > ~/.local/share/gnome-background-properties/$WALLPAPER_FILE
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
EOF
}

make_entry () {
name=$(basename $1)
cat << EOF >> ~/.local/share/gnome-background-properties/$WALLPAPER_FILE
    <wallpaper>
        <name>${name%.*}</name>
        <options>stretched</options>
        <filename>$1</filename>
        <shade_type>solid</shade_type>
    </wallpaper>
EOF
}

make_final () {
cat << EOF >> ~/.local/share/gnome-background-properties/$WALLPAPER_FILE
</wallpapers>
EOF
}
WALLPAPERS_DIR=~/Wallpapers
WALLPAPER_FILE="my-wallpapers.xml"
inotifywait -m -e create,delete,moved_from,moved_to $WALLPAPERS_DIR | while read i; do
    make_header
    for j in $(find $WALLPAPERS_DIR -name *.jpg -or -name *.png -or -name *.jpeg); do
        make_entry $j
    done
    make_final
done
 
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (5) -1 (0) Répondre
18-09-2014, 11h37
Message : #2
Junky Hors ligne
Snorky Master
*



Messages : 228
Sujets : 35
Points: 204
Inscription : Mar 2013
RE: Utiliser inotify avec bash
Bonjour,

Ouais c'est vraiment sympa. A l'époque je mettais fait un script justement avec. Le but était de ban les IP qui faisaient une requête "w00tw00t" sur mon serveur web

Code BASH :

#!/bin/bash

#    Silentd:
#        Ban des w00tw00t fou!!
#
#    Prérequis:
#        Avoir installé le package inotify-tools
#        se reporter ici: http://linux.die.net/man/1/inotifywait
#    Création:
#        19 mars 2013

matchword="w00tw00t.at.ISC.SANS.DFind"
guardfile="/var/log/nginx/access.log"

if [ -f $guardfile ]; then
        while inotifywait -e modify $guardfile; do
                if tail -n1 $guardfile | grep $matchword ; then
            IP=$(tail -n1 $guardfile | cut -d" " -f1)
            iptables -A INPUT -s $IP -j DROP
                fi
        done
fi
 


source en couleur

Junky,
Pour la sécurité, sous linux, le principal soucis est l'interface chaise/clavier

+1 (1) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Utiliser un serveur X dans un chroot grâce à Xephyr Dobry 0 1,736 02-05-2015, 13h42
Dernier message: Dobry
Information Sauter une partition lors du update-grub avec grub 2 Encrypt 0 1,629 28-08-2014, 23h22
Dernier message: Encrypt
  Morpion en bash notfound 8 5,318 05-12-2013, 21h00
Dernier message: notfound
  [BASH] Mouchard au démarrage thxer 3 3,155 20-11-2013, 13h28
Dernier message: EpicOut
  [BASH] Listing Alias utiles thxer 3 2,872 25-05-2013, 22h27
Dernier message: thxer

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut