Page 1 sur 1

[RESOLU] créer un journal.log en script bash

Posté : dim. 26 mars 2017 01:22
par calixtus06
re hello
je suis allé sur ce site pour démarrer le script:
https://abs.traduc.org/abs-fr/ch02s02.html" onclick="window.open(this.href);return false;
Il y a l'exercice mais pas le corrigé.

Code : Tout sélectionner

#!/bin/bash
date
who
uptime
SORTIE_COMMANDE >
exit 0
J'ai un message d'erreur :

Code : Tout sélectionner

nicolasmintkde-desktop nicolasmintkde # ./exercices.sh 
dimanche 26 mars 2017, 01:22:04 (UTC+0100)
nicolasmintkde pts/0        2017-03-25 15:57 (:0)
nicolasmintkde pts/1        2017-03-26 01:14 (:0)
nicolasmintkde pts/2        2017-03-26 01:21 (:0)
 01:22:04 up  9:25,  3 users,  load average: 0,34, 0,31, 0,26
./exercices.sh: ligne 5: erreur de syntaxe près du symbole inattendu « newline »
./exercices.sh: ligne 5: `SORTIE_COMMANDE >'
nicolasmintkde-desktop nicolasmintkde # 
qu'est ce que je dois comprendre ? merci d'avance

Re: créer un journal

Posté : dim. 26 mars 2017 21:34
par WarLocG
Voila ma version :)

Code : Tout sélectionner

#! /bin/bash

echo "[new]-----------------------" >> journal.log
echo "Date et heure" >> journal.log
echo $(date "+%F %H:%M:%S") >> journal.log
echo "Utilisateurs connectés" >> journal.log
echo $(w -hi) >> journal.log
echo "Temps passé depuis lancement du système" >> journal.log
echo $(uptime) >> journal.log
echo "----------------------------" >> journal.log
Et après on peut faire mail $USER@$HOSTNAME < journal.log pour se l'envoyer par mail postfix :D (accessible depuis la commande mail)

Ce qu'il manque dans ton script c'est la redirection vers le fichier de journal.

Re: créer un journal

Posté : dim. 26 mars 2017 23:09
par calixtus06
top !
Plusieurs questions tout de même :)
1) Que signifie ce sigle: ">>" ( redirection forcément)
2)celui ci : "(w -hi) "
3)Pourquoi as tu fait le choix de ne pas utiliser la commande si ç'en est une: "SORTIE_COMMANDE >"

enfin est ce que ce script est plus correct :

Code : Tout sélectionner

#!/bin/bash
date
who
uptime
>> journal12
exit 0
Merci à toi !

Re: créer un journal

Posté : dim. 26 mars 2017 23:50
par WarLocG
Question 1:
tu as plusieurs redirection:
a) sortie standard

Code : Tout sélectionner

>    j'envois vers fichier et j'écrase ce qu'il contient
>>  j'envois vers fichier mais je rajoutes à la suite du contenu déjà présent
b) entrée standard

Code : Tout sélectionner

<    je récupère le contenu de fichier dans ma commande
<<  je stoppe le "mode machine à écrire" lorsque je rencontre la chaîne suivante
exemple: cat <<eof> fichier. J’arrête d'envoyer du flux vers mon fichier des que j'aurai écris eof<touche Entrer>

c) erreurs standard

Code : Tout sélectionner

2>      redirige les erreurs
2>&1  transfert les erreurs sur la sortie standard ( 1> == > )
Question 2:
w c'est une autre commande comme who, le -h signifie que j'affiche pas la bannière, -i c'est pour afficher les ip des utilisateurs connectés à distance (par ssh)

Question 3:
Parce qu'elle ne veut rien dire, encore si c'était une variable elle commencerait par un $

Question 4:
enfin est ce que ce script est plus correct
Il suffit de regarder ce que contient ton fichier journal12 pour en être fixé :)

Re: [RESOLU] créer un journal.log en script bash

Posté : dim. 26 mars 2017 23:52
par débitant
Si le sujet est résolu, merci d'éditer le premier message du sujet et mettre un petit Image, comme suit: Image
et un [résolu] (entre crochets et à gauche) dans le titre voir tuto ici