Thierry Leurent wrote:
Salut Alain,
echo "$line"
cd "$line" # pour bash, un seul élément
Dans mon cas cela n'améliore rien, il n'arrive pas à aller sur le partage
windows. Par contre cela fonctionne à merveille avec un rep linux.....
Il doit interpréter différemment le ? quand il est directement utilisé dans
une variable ou en "ligne de commande". C'est sans doute dû à la différences
de codes pages entre les deux machines.
Voici ce que j'ai fait de mon côté pour avoir le maximum de compatibilité :
# ----------------------------------------
U="userlogin" # à adapter ;-)
P="userpassword" # idem
IO="iocharset=iso8859-15"
CP="codepage=cp850"
H="MSHOST"
SHARE="selfdefining" # ;-)
mount -t smbfs -o $U,$P,$IO,$CP //$H/$SHARE /smb/$H
# ------------------------------------------
J'ai essayé de faire un lien symbolique pour donner au répertoire un nom sans
caractères accentués et cela ne fonctionne pas mieux. C'est même pire, en
ligne de commande, je n'arrive même pas à faire un cd. :(((( Il me dit qu'il
n'existe pas.
Donc à moins de trouver une solution pour "convertir" les codes pages, je vais
faire du hardcoding... C'est pas beau, je sais ;)
Par contre ta solution avec find est superbe et je vais l'utiliser, elle me
simplifiera la vie.
Pour le problème de mail, c'est stupide sendmail n'est pas lancé.
Comme la machine que j'utilise pour cette application est un serveur de
calcul. Qu'il est 90% du temps à 100% de cpu, qu'il est critique, que je ne
connais pas sendmail, que j'ai pas le temps de le tester, que j'ai pas de
machine de test, qu'elle évolue dans un réseau où je n'ai pas la main et où
elle est fait figure d'OVNI et enfin que je ne veux pas me mettre à dos la
boite qui gère le réseau interne. Ouf, je vais écrire, en perl, une appli
genre mail qui en plus interrogera le dns pour connaitre le mx record.
Je n'aurai pas à installer un serveur de mail. J'évite aussi les problème dû
aux changement de serveur de mails sur le réseau de la boite.
Tu dois pouvoir utiliser un module perl
cpan
cpan> i /smtp/
-> une série de modules concernés, dont :
Email::Send::SMTP (C/CW/CWEST/Email-Send-2.05.tar.gz)
cpan> install Email::Send::SMTP
(...)
Running make install
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send.pm
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send/Test.pm
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send/SMTP.pm
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send/NNTP.pm
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send/IO.pm
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send/Qmail.pm
Installing /usr/lib/perl5/site_perl/5.8.5/Email/Send/Sendmail.pm
Installing /usr/share/man/man3/Email::Send::Qmail.3pm
Installing /usr/share/man/man3/Email::Send::NNTP.3pm
Installing /usr/share/man/man3/Email::Send::Sendmail.3pm
Installing /usr/share/man/man3/Email::Send.3pm
Installing /usr/share/man/man3/Email::Send::IO.3pm
Installing /usr/share/man/man3/Email::Send::SMTP.3pm
Installing /usr/share/man/man3/Email::Send::Test.3pm
Writing
/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/Email/Send/.packlist
Appending installation info to
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/perllocal.pod
/usr/bin/make install -- OK
--------------------------------------------------------
Merci.
De rien,
Alain
Thierry
On Thursday 18 May 2006 21:21, Alain EMPAIN wrote:
petites corrections :
Alain EMPAIN wrote:
Tu peux simplifier :
tu crées un fichier TICK dans ta directory
CIBLE
ex: date > TICK
maintenant pour connaître les fichiers qui t'intéressent :
# -------------------------------------------
MONSHARE="/mnt/distant/Donn?es A1/"
cd "$MONSHARE" # mettre des " " sinon le blanc va servir de délimiteur
ou utiliser un backslash
cd /mnt/distant/Donn?es\ A1/
find . -maxdepth 1 -newer TICK > /tmp/maliste
date > TICK # met à jour le fichier de référence de temps
# pour le tour suivant
# -------------------------------------------
# rem: j'y mets la date, mais on pourrait tout aussi bien faire
# echo coucou > TICK
# ou touch TICK ;-)
Maintenant tu peux utiliser ta liste
if [ -s ... ] # on exécute s'il contient qqch
if [ ! -s /tmp/maliste ] # FILE exists and has a size greater than zero
then
TEMPS=`date +%y%m%d-%H%M`
mail -s "Ma liste du $TEMPS" [EMAIL PROTECTED] < /tmp/maliste
fi
Cela devrait marcher (pas testé), mais si tu veux lire ligne par ligne
le fichier, n'oublie pas d'utiliser des "" pour le contenu de la ligne
for line in `cat /tmp/maliste`
do
echo "$line"
cd "$line" # pour bash, un seul élément
# ---
echo $line # visuellement identique,
cd $line
# mais pour bash il y a deux éléments
# avec un espace séparateur
done
Bon amusement,
Alain
-
Thierry Leurent wrote:
Bonsoir,
Voila la situation, je dois réaliser un script qui scanne
régulièrement un répertoire et envois un mail avec le nom des fichiers
qui y ont été créés depuis la dernière exécution du script.
Le principe de mon script est simple :
Pour connaître la dernière exécution, je stocke la date dans un
fichier (nbr de secondes depuis epoc).
Je mémorise la date de début d'exécution.
Je lis le fichier pour connaître la date de dernière exécution.
Je liste les fichiers du répertoire (premier niveau uniquement) grâce
à un savant mélange de stat, cut, sed et sort.
Je par cour la liste et compare la date de dernière modification avec
la date de dernière exécution.
Si le fichier est plus récent, je sauve son nom.
J'envois la liste des fichiers via la commande mail.
C'est simple :) et cela fonctionne presque :(
J'ai deux problèmes :
- Le répertoire fait partie un partage windows, monté avec samba et le
nom du répertoire à scanner (sous répertoire du montage) contient un
caractère accentué et un blanc.
Je monte mon "disque samba" dans /mnt/distant/
Dans un terminal, je fais ls /mnt/distant/* et j'ai
/mnt/distant/Donn?es A1/
Dans un terminal, je fais cd /mnt/distant/Donn?es A1 et j'arrive dans
/mnt/distant/Donn?es A1
Génial
Je me remet dans mon /home.
Je fais un script # !/bin/bash
cd /mnt/distant/Donn?es A1
echo $(pwd);
Il se place bien dans le répertoire Je fais un script # !/bin/bash
cd ..
Rep1="/mnt/distant/Donn?es A1";
Rep2="/mnt/distant/Donn?es\ A1";
cd $Rep1;
echo $(pwd);
cd $Rep2;
echo $(pwd);
Il me dit que /mnt/distant/Donn?es n'est pas un rep
que /mnt/distant/Donn?es\ n'est pas un rep
Idem avec un passage de paramêtre
Deuxième problème.
Sendmail refuse ma connexion via mail
Merci
Thierry
_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe:
http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech
_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe:
http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux Archives:
http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech
_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech
--
" Do something for freedom every day "
* support Open Document Format :
please discover and use OpenOffice (gratis)
* or at least, install it as a converter from open format
to a proprietary one.
Please realize that proprietary formats are important tools
to reinforce a monopoly.
begin:vcard
fn:Dr Alain EMPAIN
n:EMPAIN;Alain
org:University of LIEGE;Euregio ALMA-Grid project
adr;quoted-printable:Avenue de l'H=C3=B4pital, 3;;BAT. B23 GIGA,;Liege 1;;B-4000;Belgium
email;internet:[EMAIL PROTECTED]
title:Bioinformatics
tel;work:+32 4 366 4497
tel;fax:+32 4 366 2917
tel;home:+32 85 51 2341
tel;cell:+32 497 70 1764
x-mozilla-html:FALSE
version:2.1
end:vcard
_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech