11
votes

Comment utiliser la vérification du script Shell Dernière modification du temps d'un fichier

Je souhaite trouver si certains fichiers sont modifiés dans les trois dernières minutes afin de décider si le cp a réussi, et si je devais Quitter ou poursuivre le script . Comment puis-je faire ça?

merci


0 commentaires

5 Réponses :


3
votes

La commande stat vous donnera la dernière heure de modification

stat -c %y <filename>


0 commentaires

4
votes

La syntaxe de cette instruction Si l'instruction dépend de votre shell particulier, mais les commandes de date ne le font pas. J'utilise Bash; Modifier si nécessaire.

if [ $(( $(date +%s) - $(date +%s -r <file>) )) -le 180 ]; then
    # was modified in last three minutes
else
    # was not modified in last three minutes
fi


0 commentaires

25
votes

Vous pouvez obtenir la dernière heure de modification d'un fichier avec stat et la date actuelle avec date . Vous pouvez utiliser des chaînes de format pour les deux pour les obtenir en "secondes depuis l'époque": xxx

alors, il est assez facile de mettre cela dans une condition. Par exemple: xxx


2 commentaires

Comment largement prise en charge est stat -c% y ? Sur OS X, j'utiliserais stat -f% m , mais sur certains flavors Linux stat -f affiche les informations de système de fichiers. La plupart des systèmes supportent date -r "$ dossier" +% s , mais pour être maladroit qui ne fonctionne pas sur OS X ... Fun Stuff :)


Qu'est-ce que 180 dans la "si condition"? Est-ce en secondes ou des jours?



0
votes

Un changement d'horodatage de fichier ne signifie pas vraiment que vous avez copié avec succès.
Si vous atterrissez en corrompre le fichier ou que le système de fichiers est sorti de l'espace,
Vous verrez probablement toujours un changement d'horodatage (besoin de confirmer cela).

Je n'ai pas le contexte exact de votre exigence.
Si vous tirez un cp , il se termine et renvoie - ne retourne pas pendant qu'il fonctionne.
Donc, le retour (avec le code de sortie du succès) n'est-il pas un bon indicateur du succès?

Comment et pourquoi sortiriez-vous partiellement dans un CP opération?
Ou, est-ce un script BATCH CP CP sur la liste des fichiers ...
une certaine élaboration aiderait.


1 commentaires

Le CP est effectué dans un script et la vérification est effectuée dans un autre script. Il n'existera donc pas le CP au milieu. Au fait, comment puis-je obtenir la vérification du code existant de CP? Merci



2
votes

Recherche peut émettre le nom du fichier s'il a été modifié au cours des 3 dernières minutes. xxx


0 commentaires