Déplacer des files vers un autre directory supérieur à une date

Je search une solution pour déplacer des files d'une année à l'autre d'aujourd'hui. Ma partition de journal est pleine, mais je ne peux pas les supprimer. Ils sont nécessaires depuis longtime. Quoi qu'il en soit, j'ai trouvé une solution:

find /sourcedirectory -mtime 365 -exec mv "{}" /destination/directory/ \; 

Cela fonctionnerait-il? En demandant à cause de " -mtime 365 " cela déplacerait-il les files qui sont anciens depuis aujourd'hui vers un nouvel location?

Je vous remercie!

4 Solutions collect form web for “Déplacer des files vers un autre directory supérieur à une date”

Vous avez presque raison. -mtime 365 sera tous les files qui ont exactement 365 jours. Vous voulez ceux qui ont 365 jours ou plus, ce qui signifie append un + avant le nombre comme ça -mtime +365 .

Vous pouvez également être intéressé par le drapeau -maxdepth 1 , qui vous empêche de déplacer des éléments dans des sous-directorys.

Si vous voulez être sûr que vous ne déménagez que les files, pas les directorys, ajoutez -type f sur la ligne.

À la fin de la ligne, nous ajoutons \; de sorte que find sait que c'est la fin de la command que nous exécutons.

Donc, la ligne devrait être:

 find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec mv "{}" /destination/directory/ \; 

Pour être sur le bon côté, commencez par faire un ls -l au lieu de mv – de cette façon, vous pouvez vérifier par avance que vous obtenez exactement les files que vous souhaitez, avant de l'exécuter avec mv, comme ceci:

 find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec ls -l {} \; 

Faites attention lorsque vous utilisez les solutions ci-dessus, je les ai utilisées et j'ai fini par déplacer tous les files dans tous les sous-dossiers!

Cette command déplace tous les files dans / source directory et tous les sous-dossiers sous le directory source:

 find /sourcedirectory -mtime +365 -exec mv "{}" /destination/directory/ \; 

Au lieu de cela, utilisez l'option -maxdepth 1 pour uniquement les files dans le directory source

 find /sourcedirectory -maxdepth 1 -mtime +365 -exec mv "{}" /destination/directory/ \; 

Vous pouvez utiliser cette command et spécifiez que vous ne trouvez que pour les files, pas le directory et que le file est supérieur à un an

 find /sourcedirectory -type f -mtime +365 -exec mv "{}" /destination/directory/ \; 

Vous pouvez utiliser la command ci-dessous avec une heure si les files sont fréquemment consultés

 find /sourcedirectory -type f -atime +365 -exec mv -t /destinationdirectory {} +; 
  • BIND / RNDC - Pourquoi mes sous-zones fonctionnent-elles et ma zone actuelle ne fonctionne-t-elle pas?
  • Comment lisez-vous les moyennes de charge? (p. ex.: Moyennes de charge: 0,60 0,60 0,55)
  • Comparaison des coquilles Unix
  • Autorisations de groupe Unix
  • devrait-on utiliser sudo ou simplement su root dans la gestion du server?
  • Services Unix sur Windows Server 2008
  • Utilisation des UUID pour les passwords
  • Spécifiez le groupe par défaut et les permissions pour les nouveaux files dans un certain directory
  • Restaurer les anciennes cassettes SunOS
  • Renvoi d'une list de paths de files cités à l'aide de Find
  • Problème d'accroissement automatique MySQL sur la réplication master-master et la logique pour le résoudre
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.