Pour modifier les permissions de tous les fichiers :
|
1 |
find . -type f -exec chmod 666 {} + |
Pour modifier les permissions de tous les dossiers :
|
1 |
find . -type d -exec chmod 755 {} + |
Pour modifier les permissions de tous les fichiers :
|
1 |
find . -type f -exec chmod 666 {} + |
Pour modifier les permissions de tous les dossiers :
|
1 |
find . -type d -exec chmod 755 {} + |
rsync -a /source/ /destination/
Options:
|
1 |
rsync -avzh --progress [source] [destination] |
Exemple:
|
1 |
rsync -avzh --progress /ancien/chemin/ /nouveau/chemin |
Note:
|
1 |
find /chemin/à/inspecter/ -type f -mmin -1440 -not -name "*.jpg" | mail -s "Derniers fichiers modifiés" test@example.com |
La commande peut être intégré au sein d’un cron pour un contrôle journalier:
|
1 |
0 0 * * * find /chemin/à/inspecter/ -type f -mmin -1440 -not -name "*.jpg" | mail -s "Derniers fichiers modifiés" test@example.com |
Uniquement les erreurs de type « warning » et « fatal »
|
1 |
tail -f error.log | grep -E 'Warning|Fatal' |
Provenant d’une IP spécifique
|
1 |
tail -f error.log | grep -E '123.456.789.123' |
|
1 |
find -maxdepth 1 -name '*.php' -mtime -5 -printf '%Tc %p\n' |
Pour exclure un répertoire:
|
1 |
find -name '*.php' -mtime -10 ! -path './cache/*' -printf '%Tc %p\n' |
Pour trier les résultats par date de dernière modification:
|
1 |
-printf "%T@ %Tc %p\n" | sort -n |
Si /etc/cron.daily existe:
|
1 2 3 |
nano /etc/cron.daily/diskAlert chmod +x /etc/cron.daily/diskAlert |
Sinon avec crontab:
|
1 2 3 4 5 |
nano [chemin]/diskAlert chmod +x [chemin]/diskAlert crontab -e |
|
1 |
0 0 * * *[chemin]/diskAlert |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/bin/sh df -H | grep -vE '^Filesystem|none|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output; do usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) if [ $usep -ge 80 ]; then echo "Le disque \"$partition\" est rempli à $usep% - $(date)" | mail -s "[Serveur ABC] Espace disque faible $usep%" contact@example.com fi done |
|
1 |
find . -type f | wc -l |
|
1 |
du -sh * |
Note: on peut rajouter à la suite » | sort -nr » pour trier les résultats du plus grand au plus petit
|
1 |
apt-get install munin munin-node munin-plugins-extra |
|
1 |
ln -s /var/cache/munin/www /var/www/munin |
On autorise les IPs listées ou alors tout le monde
|
1 |
nano /etc/munin/apache.conf |
Remplacer « Allow from localhost 127.0.0.1/8 ::1 » par « Allow from all »
|
1 |
/etc/init.d/munin-node restart |
|
1 |
nano /etc/munin/plugin-conf.d/munin-node |
Remplacer « [fail2ban] » par « [fail2ban*] »
|
1 |
munin-node-configure --shell |
|
1 |
/etc/init.d/munin-node restart |
|
1 |
nano /etc/munin/apache.conf |
Décommenter les 4 lignes suivantes:
|
1 2 3 4 5 6 7 |
AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user |
Créer un mot de passe pour l’utilisateur « Munin »
|
1 |
htpasswd -c /etc/munin/munin-htpasswd Munin |
Attention: la directive « AllowOverride » vHost actif doit être réglée sur « all »
|
1 |
system( 'mysqldump --host=[SERVEUR] --user=[UTILISATEUR] --password=[MOT DE PASSE] [BASE DE DONNEES] [TABLES] > /dump.sql' ); |
Notes
|
1 2 3 4 5 6 7 8 9 |
// Téléchargement du fichier system( 'wget http://[DOMAINE]/dump.sql' ); // Import system( 'cat dump.sql | mysql --host=[SERVEUR] --user=[UTILISATEUR] --password=[MOT DE PASSE] [BASE DE DONNEES]' ); |