Forum Programmation.shell Script Bash, tronquer noms de fichiers pour eCryptFS

Posté par (page perso) . Licence CC by-sa
3
16
sept.
2014

Ce script fonctionne déjà ici en production.

Je cherche à l'optimiser car je l'utilise depuis peu sur un plus gros dossier.

Contexte :

Nous souhaitons effectuer des sauvegardes externes de sorte à prévenir l'incendie ou le cambriolage.
Nous souhaitons que cette copie externe soit chiffrée.
Actuellement, elle se trouve sur un disque externe mais sera bientôt synchronisée à partir d'une machine extérieur, via internet (rsync).

eCryptfs est utilisé dans un premier temps pour obtenir une version chiffrée d'une sauvegarde locale (...)

Forum Programmation.shell Problème resolution ip locale

Posté par . Licence CC by-sa
Tags : aucun
0
4
sept.
2014

Bonjour à tous,
je viens de me coder un petit script que je lance au démarrage de Debian sur un serveur en local.

[code]

iplocale=$(ifconfig wlan0 | grep "inet adr" | cut -f2 -d: | awk '{print $1}')
ippublic=$(wget -qO- http://62.210.182.92/ip_api.php)

wget --no-check-certificate -qO- "https://smsapi.free-mobile.fr/sendmsg?msg=Message+du+raspberry+pi+%3A%0D%0AMon+ip+locale+est+$iplocale%0D%0AMon+ip+externe+est+$ippublic%0D%0A%0D%0A&pass=monpass&user=monuser"

[/code]

En gros le script cherche d'abord l'ip locale de la machine et ensuite l'ip externe, le tout est envoyé a l'api d’envoi de sms de free.
Le script tourne bien en (...)

Forum Programmation.shell Lire des logs au fur et à mesure

Posté par (page perso) . Licence CC by-sa
1
11
juil.
2014

Bonjour,

j'ai besoin de lire des log (ceux d'un serveur web), et de les analyser pour en extraire certaines informations.

Pour extraire les infos, je vais utiliser awk, qui conviendra parfaitement.

Le fichier de log est rempli au fur et à mesure, et de temps en temps il y a une rotation.
Il faudrait que je puisse obtenir a chaque interval de temps les derniers logs, pour éviter les doublons et m'assurer que je ne vais pas non plus manquer (...)

Forum Programmation.shell awk et les colonnes

Posté par . Licence CC by-sa
Tags :
0
5
juil.
2014

Bonjour,

J'ai un fichier avec de nombreuses lignes qui ont toutes la même longueur, quelques caractères. Je souhaite mettre le contenu de ce fichier sur plusieurs colonnes. J'ai trouvé cette solution qui me convient :

awk 'NR%9==1{print " "}{printf "%s %s %s %s %s %s %s %s %s",$1, $2, $3, $4, $5, $6, $7, $8, $9}' input > output

pour neuf colonnes.

Je vous sollicite pour deux questions :

  1. Est-ce que cela peut s'écrire plus proprement ?

  2. Avec ma solution on (...)

Forum Programmation.shell afficher le nom du process complet dans top, ou glance (HP-UX)

Posté par (page perso) . Licence CC by-sa
Tags : aucun
0
1
juil.
2014

Bonjour

J'ai des BL870c i2 sous HP-UX B.11.31 avec un bon nombre de VM.

Quand je fais top ou que je lance glance, j'ai des noms de process hpvmapp, qui apparaissent avec
ps -ef
en
hpvmapp -d vm4102
ou
hpvmapp -d vm4119

Evidemment ce qui m'intéresse c'est le nom de la VM qui consomme beaucoup.
Sous HP-UX, top -c n'existe pas :-(

Comment est-ce que je peux afficher
- un nom de process plus long
- la commande complète
?

(...)

Forum Programmation.shell [Résolu] Appel de SSH depuis un Shell script (Bash)

Posté par (page perso) . Licence CC by-sa
1
13
juin
2014

Bonjour,

En voulant appeler SSH depuis un script Shell (Bash), j'ai les erreurs suivantes : Pseudo-terminal will not be allocated because stdin is not a terminal. et stdin: is not a tty

Ma ligne de commande pour appeler le SSH est la suivante :
DISPLAY=y SSH_ASKPASS=filename setsid ssh -t -X -o 'PreferredAuthentications password,keyboard-interactive' -o 'StrictHostKeyChecking no' ${1:-}

En googlant un peu, j'ai essayé la méthode indiquant d'ajouter un -t et donc avec la ligne de commande suivante, j'ai une autre (...)

Forum Programmation.shell Isoler une chaine de caractère et compter son nombre d'occurrences

Posté par . Licence CC by-sa
Tags :
1
4
juin
2014

Hello,

Je cherche un moyen d'extraire d'une capture de mon trafic DNS certains sites et d'en afficher le nombre d’occurrence.

Le fichier que je récupère est sous ce format :

14:15:37.837411 IP 109.215.228.235.23582 > 81.253.149.2.53: 25335+ A? b.fc.namequery.com. (36)
14:15:37.837930 IP 80.10.202.65.30568 > 209.53.113.4.53: 59709 [1au] A? b.fc.namequery.com. (47)
14:15:44.746399 IP 109.215.90.49.1024 > 81.253.149.2.53: 7376+ A? search.namequery.com. (38)
14:15:49.456342 IP 82.121.161.41.1024 > 81.253.149.1.53: 26292+ A? search.namequery.com. (38)
14:15:49.456865 IP 80.10.202.103.3499 > 209.53.113.6.53: 27871 [1au] A? search.namequery.com. (49)
14:15:53.477188 IP 90.21.150.38.1024 (...)

Forum Programmation.shell enlever les fins de ligne du résultat de curl

Posté par . Licence CC by-sa
Tags :
1
16
mai
2014

Bonjour.

Je souhaite récupérer le retour d'une API web interne via curl, pour la comparer à un résultat prédéterminé ( en fait, de jouer des tests sans me casser les pieds à devoir me retaper le copier/coller partiel en fonction du serveur ni devoir lire le résultat pour être sûr qu'il est bon ).
Donc, j'ai créé un fichier contenant mes listes de paramètres et un script qui appelle l'URI voulue ( un serveur ou l'autre, principalement ) en ajoutant (...)

Forum Programmation.shell Script de connexion telnet

Posté par . Licence CC by-sa
Tags : aucun
0
15
mai
2014

Bonjour,

Je veux écrire un script sous une distribution linux (Full Automatic Nagios) pour activer un protocole SNMP dans des routeurs par telnet

Ce script devra parcourir un fichier qui contient les adresse IP et les mot de passe pour telnet,

puis pour chaque ligne du fichier on accède au routeur dont l'adresse IP figure dans cette ligne

enfin activer le protocole SNMP.

Et lancer ce script au démarrage du système.

Merci.

Forum Programmation.shell Équivalent tableau croisé dynamique

Posté par . Licence CC by-sa
Tags :
2
2
mai
2014

Bonjour à tous,

Dans le cadre de l'analyse de log, j'ai un fichier de +850000 lignes avec plusieurs colonnes.

Grosso modo, je l'ai réduit à ceci :

Pierre pierre.monsite.com 45
Paul paul.paulsite.com 10
Jacques jacques.sonsite.com 10
Pierre pierre.monsite.com 10
Jacques jacques.sonsite.com 0
Paul paul.paulsite.com 10
Toto toto.coco.com 1

J'aimerai pouvoir faire un tableau croisé dynamique : donc pouvoir sommer les utilisateurs pour n'avoir plus que
Pierre pierre.monsite.com 50
Paul paul.paulsite.com 20
etc…

Je l'ai fait avec des grep et (...)

Forum Programmation.shell Vérifier vos scripts SHELL avec shellcheck

Posté par (page perso) . Licence CC by-sa
6
16
avr.
2014

Bonjour a tous,

je viens de découvrir un petit outil sympathique qui permet de vérifier la synthase, les erreurs de codes ou encore si votre script est optimisé ou pas!

http://www.shellcheck.net/

J'ai pu tester l'outil et je le trouve absolument génial!!

Le test sur mon blog:

http://journaldunadminlinux.fr/verifier-vos-scripts-shell-avec-shellcheck/

Bonne journée a tous!!

Forum Programmation.shell cherche petit script car j'ai la flemme

Posté par . Licence CC by-sa
Tags : aucun
0
3
avr.
2014

Mon souci : j'ai un dossier "projet" avec pas mal de sous dossier, et dans certains sous dossiers, il y a des liens symboliques vers un dossier de "projet/data".

le premier probleme, c'est que data fait 200Go,
le deuxieme je dois transferer ce dossier de projet sur un serveur CIFS, serveur qui ne gere evidemment pas les liens symboliques (mais gere la deduplication)

1° idée : tu remplaces les liens par un copie physique des datas, le serveur deduplique, ton (...)

Forum Programmation.shell Faire un ssh après un sudo

Posté par . Licence CC by-sa
Tags :
0
17
mar.
2014

Bonjour,

Je voudrais me connecter à une machineB avec certain user qui n’est accessible qu’après un sudo.

Je peux me connecter à une machineA
ssh machineA
Puis
machineA> sudo su – superman
puis
superman@machineA> ssh machineB

En effet sur la machineB je ne peux pas faire de sudo.
machineA> sudo su – superman ssh machineB
me demande un mot de passe.
machineA> sudo –l
donne
(root) NOPASSWD: /usr/bin/su - superman, (root) /[a-z]*app/travail/*/*.sh

J’ai testé
machineA> sudo su – superman <&lt (...)

Forum Programmation.shell Bash, regexp

Posté par (page perso) . Licence CC by-sa
Tags : aucun
3
12
mar.
2014

Bonjour,

je cherche à séparer des données d'une chaîne de caractère pour les écrire dans un tableau ou plusieurs variables, en bash.
La chaîne peut resembler à ceci:
'toto','tata' ,'titi' , 'ici avec espace','et, éventuellement\'comme ça'

On a donc:
'toto'
'tata'
'titi'
'ici avec espace'
'et, éventuellement\'comme ça'

Les espaces ne sont pas protégés par un \ (et même si cela avait été le cas, j'aurais été autant ennuyé).
J'ai parfois des caractères blancs autour des virgules.

J'ai essayé plein (...)

Forum Programmation.shell Ctrl+c ferme xterm

Posté par (page perso) . Licence CC by-sa
Tags :
1
13
jan.
2014

Bonjour,

Ma question est assez idiote, mais voilà mon problème.

J'ai une application C++/Qt qui génère un script (index.csh), et l'exécute, jusque là, pas de problème.

Au début du script généré, il y a la commande:

git init

Cette commande peut être trop longue quand il y a beaucoup de fichiers dans le dossier en question.
Les utilisateurs aimeraient avoir la possibilités de faire un ctrl+C pour couper le "git init" et passer à la suite du script.
Seul problème, (...)

Forum Programmation.shell Utiliser la sortie d'une commande comme chaîne de recherche de awk

Posté par . Licence CC by-sa
Tags :
1
23
déc.
2013

Bonjour.

Je cherche à obtenir le "device file" correspondant à un chemin (sur une clé USB, en l'occurrence).

Disons que mon chemin est /media/cle/rep1/rep2/rep3/fichier. (J'ai accès à ça facilement dans Thunar via les actions personnalisées.)

Je veux :

  • extraire /media/cle
  • chercher ça dans /proc/mounts
  • en déduire /dev/sdb1 (par exemple)

Partant de /media/cle, je peux réaliser les étapes 2 et 3 avec awk :

awk '/\/media\/cle/ {print $1}' /proc/mounts

J'arrive à extraire /media/cle avec sed :

echo /media/cle/rep1/rep2/rep3/fichier | sed -e 
(...)

Forum Programmation.shell Comportement bizarre de redirection en ksh

Posté par . Licence CC by-sa
Tags : aucun
0
27
nov.
2013

Bonjour tout le monde,

Je dois debugger un script qui n'a pas le même comportement sur 2 machines différentes et je ne sais plus où chercher les différences.

Voilà le bout de code très simplifier qui ne fonctionne pas :

$ echo plop > >(tee /tmp/output)
ksh: : cannot create [Permission denied]
$

Cette même commande fonctionne très bien sur une autre machine.

PS: ce truc bizarre n'est pas de moi, je ne veut pas le re-écrire mais juste comprendre (...)

Forum Programmation.shell Espaces dans les noms de fichiers

Posté par (page perso) . Licence CC by-sa
Tags : aucun
2
1
nov.
2013

Bonjour à tous,

C'est sûrement une question de noob mais j'ai eu du mal à trouver une réponse ailleurs.
J'ai un plusieurs répertoires de fichiers Wav à encoder en Mp3 (lame fichier.wav fichier.mp3).
Je me suis dit qu'un script m'aiderait bien, du genre :

for i in `find /home -name "*.wav"`; do lame $i $i.mp3 -V2; done

Avec cette méthode, les espaces ne sont pas bien gérés (ici je me contente d'un echo) :

for i in `find /home -name
(...)

Forum Programmation.shell Comment contrôler le read input dans un script shell

Posté par . Licence CC by-sa
Tags : aucun
0
1
nov.
2013

Bonjour,

Comment contrôler le read input dans un script shell

Exemple:

echo "Please enter your name and your surname:"
read name surname
echo "Welcome $name $surname"

ici je veux contrôlé si le name et le surname sont introduit tous les deux dans le cas contraire un message d'erreur ce retourne jusqu'au que le name et surname sont introduit pour que l'echo s'exécute

Merci d'avance pour vos propositions !

Forum Programmation.shell Extraction de données avec AWK

Posté par . Licence CC by-sa
Tags : aucun
0
31
oct.
2013

Bonsoir tout le monde,

Intéressé par un récent billet de blog sur B. Kernighan , j'essaie de scripter avec AWK une extraction de coordonnées cartésiennes de certains atomes dans un output de dynamique moléculaire.
Ce dernier est composée d'une ligne de titre, d'un header général, et d'un certain nombre de configurations (snapshots) du systeme pris a intervalles de temps réguliers (dénotés par un timestep). Plus précisément, chaque snapshot comporte 4 lignes de header (1 + 3 lignes pour les vecteurs (...)

Forum Programmation.shell Éviter les boucles avec des syntaxes de gourou

Posté par (page perso) . Licence CC by-sa
Tags : aucun
3
28
oct.
2013

Salut les moules !

Pour l'instant, j'ai un script comme ça :

for f in *.JPG
do
    convert $f -verbose -resize 600x -quality 85 resized/$f
done

C'est marrant, mais j'aimerais savoir s'il existe une syntaxe de gourou qui me permettrait de faire ça en une ligne sans script, genre avec ce genre de commande :

convert * -verbose -resize 600x -quality 85 resized/*

Je vois bien que la seconde étoile fait que je me retrouve avec un problème. C'est possible de (...)

Forum Programmation.shell Récuperer noms d'un fichier pour l'envoyer dans une chaine de caractère dans un fichier

Posté par . Licence CC by-sa
Tags : aucun
0
22
oct.
2013

Bonjour,

Je souhaiterais avoir de l'aide sur l'édition d'un script ??

Dès que l'on branche un lecteur de CV sur Mac, il génère un fichier cu.usbmodem XXX, sachant que XXX est le numéro du Port.

Je souhaiterais donc savoir comment récupérer les 3 numéros du port situé à la fin du fichier, et les envoyer dans une chaine de caractère >> >> >> ( COM1=cu.usbmodem XXX ) située dans un fichier "**.ini" ?

Je voudrais savoir si quelqu'un peut m'aider ou (...)