Salut, j'ai crée un script pour lancer un serveur de jeu et j'ai décidé de lui attribuer un service sur systemd. Le tout marche très bien, mais j'aimerais que le service s'exécute et se termine à certaine période, l'idéal serait un démarrage tous les soirs à 20h et une fin à 2h. Comme je n'ai pas l'habitude d'utiliser cron et de mettre en place ce genre de configuration (oui c'est ma première fois), j'aurais besoin de vos conseils. La seule (...)
Forum Programmation.shell script shell qui ne fonctionne pas à partir de crontab
Bonjour,
Voici un script qui fonctionne très bien en commande mais pas lorsqu'il est lancé du cron.
Le script teste simplement le service squid et le redémarre en cas de crash en envoyant une alerte mail.
Le problème est que quand il est lancé par cron il détecte tout le temps qu'il est mort, en gros il sait pas faire le "if [ $var = '']", mais en le lançant en direct avec "./check_squid.sh" ça fonctionne.
---------- Voici le code (...)
Forum Programmation.shell Script Bash, tronquer noms de fichiers pour eCryptFS
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
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
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
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 :
Est-ce que cela peut s'écrire plus proprement ?
Avec ma solution on (...)
Forum Programmation.shell afficher le nom du process complet dans top, ou glance (HP-UX)
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)
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
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
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
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
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
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!
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
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 Génération des données Radius Accounting
Forum Programmation.shell Faire un ssh après un sudo
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 << (...)
Forum Programmation.shell Bash, regexp
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
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
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
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 Copie d'un Fichier *.dmg dans un répertoire /Library/Preferences/
Forum Programmation.shell Problème d’exécution de programme
Forum Programmation.shell Espaces dans les noms de fichiers
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
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
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 (...)