J'ai besoin de sauvegarder de gros fichiers qui sont écrits sur le disque par un processus. Le processus est en cours d'exécution et, parfois, il transfère de gros fichiers qui doivent être déplacés sur le réseau. Le fait que le processus le fasse lui-même n'est pas une option, car le processus verrouille les utilisateurs pendant qu'il effectue des vidages de fichiers.Script pour la sauvegarde de fichiers sécurisée sous Windows
Ainsi, cela va sous une machine Windows, et en tant qu'utilisateur principalement linux, je ne suis pas tout à fait certain comment faire ...
sous linux je voudrais simplement utiliser une tâche cron dans le dossier (I connaître le glob qui correspondra aux fichiers de sortie), puis vérifier lsof, pour s'assurer que le fichier n'est pas écrit, de sorte que je n'essaie pas de copier un fichier partiellement complet. L'intégrité des données est critique, donc normalement je md5 les fichiers avant et après la copie.
Donc, je suppose que ma question est - comment fait-on ce genre de choses sous Windows? J'ai l'impression d'être à genoux depuis le début - je peux utiliser python, mais je ne peux pas imiter lsof, ni cron pour faire la programmation des tâches.
J'ai essayé de regarder "handle" - mais il a besoin de privilèges d'administration au moment de l'exécution, ce qui n'est pas non plus une option. Je ne peux pas exécuter le processus de sauvegarde en tant qu'administrateur, il doit fonctionner avec les privilèges des utilisateurs.
Merci ..
Edit: Je viens de réaliser que je pouvais garder l'instance de python en cours d'exécution, avec un sommeil, de sorte que la planification des tâches est pas un problème :)
La seule recommandation était poignée. les autres sont interactifs et donc pas utiles. Bravo pour l'astuce planificateur de tâches – SomeoneLikeMe
Ou vous pouvez aller le plus "hacky" façon: vérifier la taille du fichier n'a pas changé dans les 60 dernières secondes ou si .... pas très bon, mais devrait faire le travail si vous ne le faites pas avoir une autre solution. Ou demandez au processus de lancer un autre programme qui va transférer les fichiers. –
oui, j'ai fini md5-ing les fichiers ... en attente de 60 secondes, puis le faire à nouveau et en comparant les hachages – SomeoneLikeMe