21 décembre 2009
Debug de scripts sous Linux : connaître la date de dernier accès à un fichier
Vous êtes en pleine programmation, ça plante, vous ne savez plus par où commencer ! Si ce scénario vous rappelle des souvenirs, il y a une commande très simple à utiliser pour savoir si votre script accède à tous les fichiers nécessaires à son exécution.
Par exemple, j'ai un script ksh qui lance une requête SQL dans Oracle et qui a besoin de plusieurs fichiers : environnement oraenv, requête SQL, fichier résultat (.lst), ...
Vous pouvez utiliser une commande que vous connaissez sûrement, à savoir : ls, vous lui passez en paramètre l'option -u
Exemple :
[ myServeur : oracle : XXX ]> ls -ul
total 3
-rwxr-xr-x 1 oracle dba 869 Dec 18 19:36 myScript.ksh
-rw-r--r-- 1 oracle dba 476 Dec 18 19:29 myQuery.sql
-rw-r--r-- 1 oracle dba 192 Dec 18 19:36 myResult.lst
-rw-r--r-- 1 oracle dba 459 Dec 18 19:36 myEnv.cfg
Ce qu'on voit, c'est que le problème provient du fichier myQuery.sql auquel le script myScript.ksh n'accède pas. Après à vous de voir si ce sont des problèmes de permission, de chemins d'accès, etc...