• STATISTIQUES
  • Il y a eu un total de 0 membres et 27879 visiteurs sur le site dans les dernières 24h pour un total de 27 879 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [EN] Net Force
    Javascript: 9, Java Applets: 6, Cryptography: 16, Exploits: 7, Cracking: 14, Programming: 13, Internet: 15, Steganograph...
    Challenges
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie

  • 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,609
Sujets : 71
Points: 465
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: 203
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 94 02-05-2015, 13h42
Dernier message: Dobry
Information Sauter une partition lors du update-grub avec grub 2 Encrypt 0 101 28-08-2014, 23h22
Dernier message: Encrypt
  Morpion en bash notfound 8 473 05-12-2013, 21h00
Dernier message: notfound
  [BASH] Mouchard au démarrage thxer 3 313 20-11-2013, 13h28
Dernier message: EpicOut
  [BASH] Listing Alias utiles thxer 3 208 25-05-2013, 22h27
Dernier message: thxer

Atteindre :


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