[shell] tester si un fichier est déplaçable

Karien -  
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   -
Bonjour,
Voilà, j'ai un petit souci et je ne sais pas comment faire cela avec un script shell :
"si le fichier n'est pas déplaçable (en cours d'écriture par exemple), on arrete le traitement en cours avec une trace log"

quelqu'un peut il m'aider, svp?

3 réponses

  1. dsfgdfg
     
    if [ -w $fichier ]
    then
    mv $fichier $destination
    fi
    
    0
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    Attention les droits Unix standards peuvent se révéler insuffisants
    Sur un FS ext2:
    horus:~# touch bidon
    horus:~# chattr +i bidon
    horus:~# ls brol
    ls: brol: No such file or directory
    horus:~# [ -w bidon ] && mv bidon brol
    mv: cannot move `bidon' to `brol': Operation not permitted
    horus:~# chattr -i bidon ; [ -w bidon ] && mv bidon brol
    horus:~# ls -l brol
    -rw-r--r-- 1 root root 0 Sep 6 16:44 brol

    Il faut dans ce cas utiliser les droits d'accès étendus, puisque les droits standards sont un leurre.

    man chattr, man lsattr

    Johan
    0