J'ai deux répertoires distincts. L'utilisateur charge un fichier dans le premier. Il y a un cronjob en arrière-plan qui copie les fichiers toutes les 5 minutes dans le deuxième répertoire.
Que se passe-t-il si l'utilisateur n'a pas terminé son téléchargement et que le cronjob copie les fichiers? Notez que les deux répertoires appartiennent à des utilisateurs différents, le cronjob est effectué en tant que root.
cpN'attendra pas le téléchargement complet du fichier. Comme nous nous attendons à ce que le taux de transfert réseau soit inférieur à la simple copie du fichier d'un emplacement à un autre à l'intérieur du même hôte, il cpatteindra à un moment donné la fin du fichier actuel et arrêtera la copie. La solution à votre problème peut être simple: tout d'abord, l'utilisateur télécharge le fichier avec un nom de fichier spécialement modifié (par exemple précédé de .(caractère point). Lorsque le transfert est terminé, l'utilisateur le renomme avec le nom d'origine. Ensuite, le travail cron ne regarde que pour les fichiers qui ne commencent pas ..