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.
cp
N'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 cp
atteindra à 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 .
.