2 votes

Vérifier que le fichier n'est pas en cours d'écriture avant de passer à dans Shell Shell.

J'ai besoin d'écrire un Unix Shell Shell tran.sh qui déplace les fichiers d'entrée csv de /exp/files vers le dossier /exp/ready répertoire. Les fichiers d'entrée csv sont écrits dans /exp/files par un serveur SFTP dont je ne peux pas modifier trivialement le comportement.

Dans tran.sh Shell Shell je dois m'assurer avant de faire un déplacement de ce fichier d'entrée csv du répertoire /exp/files qu'aucun autre processus n'écrit plus dans le fichier. Comment puis-je le déplacer ?

3voto

qweet Points 4052

lsof pourrait être ce que vous voulez (après tout, c'est la commande pour list open files ). Si vos fichiers ont une convention d'appellation connue, lancez une commande lsof <filename> contre lui pour vérifier s'il est bien utilisé par un processus. Si ce n'est pas le cas, lsof retournera un code de retour non nul.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X