Déplacer des fichiers de 30 minutes

Je travaille sur un système de serveur qui ne me permet pas de stocker des fichiers de plus de 50 gigaoctets. Mon application prend 20 minutes pour générer un fichier. Est-il possible de déplacer tous les fichiers de plus de 30 minutes de la source vers la destination? J’ai essayé rsync :

 rsync -avP source/folder/ user@destiantionIp:dest/folder 

mais cela ne supprime pas les fichiers de mon serveur et donc la limite de stockage échoue.

Deuxièmement, si j’utilise la commande mv , les fichiers toujours générés sont également déplacés vers le dossier de destination et le programme échoue.

Vous pouvez utiliser find avec -exec pour cela: –

Remplacez /sourcedirectory et /destination/directory/ par les chemins source et cible selon vos besoins.

 find /sourcedirectory -maxdepth 1 -mmin -30 -type f -exec mv "{}" /destination/directory/ \; 

En gros, la commande essaie de trouver dans le dossier -maxdepth 1 modifiés pour la dernière fois il y a 30 minutes -mmin -30 et de les déplacer vers le répertoire cible spécifié. Si vous souhaitez utiliser l’heure à laquelle le fichier a été utilisé pour la dernière fois, utilisez -amin -30 .

Ou si vous voulez trouver des fichiers modifiés dans une plage, vous pouvez utiliser quelque chose comme -mmin 30 -mmin -35 qui vous permettra d’obtenir les fichiers modifiés il y a plus de 30 minutes mais moins de 35 minutes.

Références de la page de manuel: –

  -amin n File was last accessed n minutes ago. -atime n File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago. -mmin n File's data was last modified n minutes ago. -mtime n File's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.