Je travaille sur un script qui copiera SEULEMENT les fichiers qui ont été créés au cours de la dernière journée de congé dans un autre dossier. Le problème que je rencontre est le script que j'ai copié tous les fichiers dans le répertoire source au lieu des fichiers de moins d'un jour.
Voici ce que j'ai:
find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \;
Le code ci-dessus copie tous les fichiers du répertoire source. Si je supprime tous les arguments pour «cp», cela fonctionne:
find . -mtime -1 -exec cp "{}" /somefolder \;
Le code ci-dessus copie uniquement les fichiers les plus récents comme je le souhaite, mais je dois conserver les attributs à l'aide des arguments cp.
J'ai également essayé des variables et pour les boucles, peut-être que l'option -exec était le problème:
files="$(find -mtime -1)"
for file in "$files"
do
cp --parents --preserve -a file /somefolder
Cependant, ce qui précède pour la boucle entraîne le même problème, tous les fichiers sont copiés. Si je fais écho aux fichiers $, seuls les fichiers dont j'ai besoin sont affichés.
Comment puis-je faire en sorte que cela fonctionne?
find /sourcefolder -type f -mtime -1 -exec cp -a "{}" /somefolder \;