comment utiliser le shell script de vérification de la dernière modification d'un fichier
Je veux savoir si certains fichiers sont modifiés dans les trois dernières minutes, afin de décider si la cp
a été un succès, et si je dois exit
ou continuer le script. Comment puis-je le faire?
Grâce
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir la dernière modification d'un fichier avec
stat
, et la date actuelle avecdate
. Vous pouvez utiliser les chaînes de format pour les obtenir en "secondes depuis l'epoch":Ensuite, il est assez facile pour vous mettre en condition. Par exemple:
stat -c %Y
? Sur OS X, je voudrais utiliserstat -f %m
, mais sur certains Linux saveursstat -f
affiche du système de fichiers de l'information. La plupart des systèmes de soutiendate -r "$file" +%s
, mais pour être maladroit qui ne fonctionne pas sur OS X... trucs fun 🙂La syntaxe de cette instruction if dépend de votre shell en particulier, mais la date des commandes n'ont pas. J'utilise bash; de modifier en tant que de besoin.
La
+%s
indique la date de sortie d'une heure UNIX (l'important est qu'il est un nombre entier de secondes). Vous pouvez également utiliser stat pour obtenir cette information, - la commandestat -c %Y <file>
est équivalent. Assurez-vous d'utiliser%Y
pas%y
, de sorte que vous obtenez un produit de temps en secondes.La commande stat qui va vous donner la date de dernière modification
Pouvez trouver la sortie le nom du fichier s'il a été modifié dans les 3 dernières minutes.
Un horodatage du fichier n'impliquent vraiment vous copiée.
Si vous avez de la terre de corrompre le fichier ou le système de fichiers est à court d'espace,
vous aurez probablement encore un timestamp changement (besoin de confirmer que).
Je n'ai pas le contexte exact de votre exigence.
Si vous lancez un
cp
, il remplit et retourne -- n'est pas de retour alors qu'il est de travail.Alors, n'est-ce pas le retour (avec succès le code de sortie) d'un bon indicateur de la réussite?
Comment et pourquoi voulez-vous quitter en partie dans un
cp
opération?Ou est-ce un lot
cp
script qui boucle sur la liste des fichiers...quelques explications seraient les aider.