Je viens de découvrir la commande nohup qui permet de continuer une action même si vous vous déconnecté (par ex de ssh)
Exemple concret:
Hier plantage de PC, donc reinstall de windows toussa … et j’me dis, je vais en profiter pour mettre un dual boot avec debian.
Je dl donc un iso DVD de debian (testing car raid + sata …), mais, il est 4h du mat et je pompe à 200ko/s le FTP … et j’ai cours à 8h.
J’aime pas dormir avec le PC allumé parce que j’ai 18 m² et mes raptors ne sont plus tout à fait silencieux 😀
Je lance donc un
nohup wget ftp://.... &
N’oubliez pas le & à la fin qui permet de lancer l’apli en arière plan.
Et voilou, je ferme ssh et ce matin tout était là 😉 près a être dl a 1mo/s 😀
Google:
Lancer un programme puis le laisser tourner même après s’être déconnecté (ssh)
« Tout bète » vous allez me dire:
aptitude install emacs
ou
apt-get install emacs
Vous allez vous prendre un:
Pas de version candidate trouvée pour emacs
Pour je ne sais quelle raison (si on pouvait m’éclairer ..) il faut en fait installer emacs21
Et donc un petit coup de
aptitude install emacs21
ou
apt-get install emacs21
et l’affaire est dans le sac 😀
J’installe emacs car en cours d’UNIX, on boss sur emacs (nano me sufisait amplemment)
++
Pour chercher une commande qui fait quelque chose sous linux, il y a une commande toutes simple:
man ⣠-k ⣠la_chose_que_lon_veut_faire↵
Sachant que la_chose_que_lon_veut_faire est souvent à formuler en anglais.. (et oui les pages de man en fr y’en à pas tant que ça)
En gros ca ressemble un peu à la commande
aptitude search prog_ou_fction
mais pas pour la même utilisation.
Voila, j’ai trouvé ca cool et je ne connaissais pas 😉
Arf que de galères ridicules.
J’avais mal configurer awstats et ce cette manière il me faisais des stats sur tout les sites du serveur et pas seulement celui voulu.
Une fois ceci corrigé, je relance le script de génération html mais la merdouile, il conserve l’histoique et incremente juste en faite les stats.
Donc pour effacer l’historique/cache ancien de awstats, allez jeter un oeil dans:
/var/lib/awstats/
Les fichier sont de la forme:
awstats_DATE_._Nom-du-site_.txt
++
Si comme moi vous chercher une commande linux pour voir tout les fichiers sur votre disque dur qui dépassent une certaine taille, utilisez:
find / -size +1024k -print
Sachant que 1024k est la taille en kilo-octet (1 mega)
Utile, pour ma part pour voir (en plus des log ftp) si je n’heberge pas des fichiers pour une board ftp à mon insu 😀
++
Dans un soucis de sécurité, il est conseillé de ne pas afficher votre version d’apache et tout ce qui va avec (mod-ssl …)
On peut pas dire non plus que ce soit super secure mais c’est toujours un plus 😉
Il suffit d’editer votre fichier /etc/apache2/apache2.conf
nano /etc/apache2/apache2.conf
Et rajouter ensuite ces lignes toutes simples:
# ServerTokens : masque les version de produits dans les headers affiche simplement Apache
ServerTokens Prod
# ServerSignature : masque les version de produits dans les pages générées par Apache
ServerSignature Off
# Options -Indexes : empèche la génération automatique des index de répertoires (listing pâr Apache des fichier d'un répertoire lorsque index n'est pas présent)
Options -Indexes
Personnelement, je commente la dernière ligne, car je me sert de l’indexation automatique.
Voici un petit script pour sauvegarder toutes vos bases de données mysql puis les envoyé sur un ftp.
Le tout en gardant seulement un certains nombre de jours de backup.
J’utilise yafc pour le ftp, si vous ne l’avez pas:
Aptitude install yafc
Ensuite voici le script:
mkdir /cron nano /cron/script_backup_mysql.sh
Le script en lui même !
#!/bin/bash #Backup mysql par ftp Mysql_User="root" Mysql_Paswd="password-sql" Mysql_host="localhost" # Emplacemment des different prog utilisé, laisser tel quel si vous n'avez rien bidouillé MYSQL="$(which mysql)" MYSQLDUMP="$(which mysqldump)" CHOWN="$(which chown)" CHMOD="$(which chmod)" GZIP="$(which gzip)" # Emplacemment du dossier de backup local DEST="/home/archives/backup/" #Rep ou on fou le sql DEST_mysql="$DEST/mysql" #Date du jour NOW="$(date +"%d-%m-%Y")" # Databases a ne pas sauvegarder separer par des espaces IGGY="" # On initialise les variables FILE="" DBS="" #on cree le rep [ ! -d $DEST_mysql ] && mkdir -p $DEST_mysql || : #On limite l'acces au root uniquemment #$CHOWN 0.0 -R $DEST_mysql #$CHMOD 0600 $DEST_mysql # On liste les bases de donnees DBS="$($MYSQL -u $Mysql_User -h $Mysql_host -p$Mysql_Paswd -Bse 'show databases')" for db in $DBS do skipdb=-1 if [ "$IGGY" != "" ]; then for i in $IGGY do [ "$db" == "$i" ] && skipdb=1 || : done fi if [ "$skipdb" == "-1" ] ; then FILE="$DEST_mysql/$db.$NOW.gz" # On boucle, et on dump toutes les bases et on les compresse $MYSQLDUMP -u $Mysql_User -h $Mysql_host -p$Mysql_Paswd $db | $GZIP -9 > $FILE fi done #BACKUP des bases mysql par FTP #nbre de jour de backup a conserver j=7 j_a_delete=$(date +%d-%m-%Y --date "$j days ago") ## Conf des rep de backup pour le ftp DIR_BACKUP_mysql=$DEST_mysql DIR_DIST_BACKUP_mysql='/BACKUP/mysql/' #Configuration de pass ftp loginftp="login" motdepassftp="pass" host_ftp="dedibackup.dedibox.fr" ## Upload sur le ftp yafc $loginftp:$motdepassftp@$host_ftp <<** cd $DIR_DIST_BACKUP_mysql lcd $DIR_BACKUP_mysql mkdir $NOW cd $NOW put -r * cd .. rm -r $j_a_delete bye ** #On delete tout cd $DEST_mysql rm -r *
Enregistrez ensuite le fichier et donnez lui des droits d'execution:
chmod u+x /cron/script_backup_mysql.sh
Et voila, il ne vous reste plus qu'a mettre ceci dans une tache cron
crontab -e
Puis ajoutez ceci
34 06 * * * /cron/backup-mysql-ftp.sh >> /cron/save-mysql.log
Pour que votre script soit executé chaque jour à 6h34, et le log sauvé dans /cron/save-mysql.log ( à créer) 😉
Juste une petite commande pour laquelle j’ai bien galerer:
find . -maxdepth 1 -not -name celui_la_on_efface_pas -exec rm -rf ‘{}’ \;
Biensur remplacer celui_la_on_efface_pas par le dossier ou le fichier que vous voulez garder 😉
L’emplacemment de vox log ssh est /var/log/auth.log.
Pour avoir une petite analyse, faites un petit
nano /var/log/auth.log
Si comme moi vous avez de jolis log du genre:
Sep 3 16:19:29 sd-4145 sshd[23909]: Illegal user aleksandra from 88.191.11.198
Sep 3 16:19:29 sd-4145 sshd[23911]: Illegal user aleksandra from 88.191.11.198
Sep 3 16:19:29 sd-4145 sshd[23913]: Illegal user aleksandra from 88.191.11.198
Sep 3 16:19:30 sd-4145 sshd[23929]: Illegal user alenka from 88.191.11.198
Sep 3 16:19:30 sd-4145 sshd[23931]: Illegal user alenka from 88.191.11.198
Sep 3 16:19:30 sd-4145 sshd[23933]: Illegal user alenka from 88.191.11.198
Ba inquietez vous, on essai de vous brutforcer, donc dans ce cas, un petit abuse est de rigueure pour l’ip en question.
On peut aussi parer à ce genre d’attaque par une petit regle iptables:
iptables -I INPUT -s 88.191.11.198 -j DROP
ou:
iptables -A INPUT -p tcp –dport ssh -m recent –update –seconds 60 –hitcount 4 –name SSH -j DROP
iptables -A INPUT -p tcp –dport ssh -m recent –set –name SSH
iptables -A INPUT -p tcp –dport ssh -j ACCEPT
Qui bloque celui qui tente de se connecter plus de 4 fois en 60 sec en ssh 😉
Une autre très bonne solution est de changer le port de ssh
nano /etc/ssh/sshd_config
Et changer la ligne port 22
et relancez ssh:
/etc/init.d/ssh reload
Il y a aussi les trucs du genre failtoban.
Sans oublier biensur de ne pas autoriser l’acces ssh par root :
dans /etc/ssh/sshd_config
PermitRootLogin no #changez yes en no
et relancez ssh:
/etc/init.d/ssh reload
Voila 😉
Ca y est, je me suis enfin décidé 😉
Bon ça reste un investissement puisque 36€/mois mais bon, c’est surtout aussi un plaisir 😀
Un serveur dedié, depuis le temps que j’en voulais un. Et puis bon ba 100mbits de BP, ba c’est plutot cool :-p
Vous pouvez voir les graph mrtg et voir que pour le moment je ne m’en sert pas encor beaucoup (cf graph cpu) sauf pour la Bande Passante, je tourne souvent a 4-5 mo/s et en gros une trentaine de personne sur le ftp.
Pour le moment, il n’y a qu’un serveur de fichiers pour tuto-fr.com qui vous permet de dl toutes distrib whax, backtrack troppix …
Bref de quoi vous faire plaisir et dl à plein régime.
La box tourne sous debian sarge.
C’est mes debut en linux et je pense vous faire quelques post un peu con con pour le linuxien mais pas pour le debutant que je suis :-).
Pour le moment, tout tourne bien, en espérant que ca dure.
D’ailleur il se peut que le blog migre vu que ca rame un peu ici (pack .info 1&1)