Nous migrons les dossiers de départ vers un nouveau système de fichiers, et je cherche un moyen de l'automatiser en utilisant Perl ou un script shell. Je n'ai pas beaucoup de choix dans les langages de programmation car les systèmes sont des clusters de stockage propriétaires qui devraient rester aussi inchangés que possible. Tâche: Sous répertoire/home/J'ai les dossiers de départ des différents utilisateurs aaa, bbb, ccc, ... et ils ont certaines permissions et la propriété de l'utilisateur/groupe qui doivent rester intacts lors de la migration vers/newhome /. Voici exemple de ce qui doit être migré de/home:Comment puis-je migrer de manière non récursive des répertoires avec Perl ou shell?
drwxr-xr-x 3 aaaaa xxxxxxxxx 4096 Feb 26 2008 aaaaa/
drwxrwxrwx 88 bbbbbbb yyyyyy 8192 Dec 16 16:32 bbbbbbb/
drwxr-xr-x 6 ccccc yyyyyy 4096 Nov 24 04:38 ccccc/
drwxr-xrwx 36 dddddd yyyyyy 4096 Jun 20 2008 dddddd/
drwxr-xr-x 27 eee yyyyyy 4096 Dec 16 02:56 eee/
Ainsi, exactement les mêmes dossiers avec des autorisations et des propriétés doivent être créés sous/newhome. La copie/déplacement de fichiers ne devrait pas être un problème, car il sera traité plus tard.
Quelqu'un a-t-il travaillé sur un tel script? Je suis vraiment nouveau à Perl, j'ai donc besoin d'aide.
Super 1 doublure, merci! Est-il possible de dire à cp de ne pas copier les sous-dossiers et les fichiers de chaque répertoire utilisateur? En d'autres termes, créez uniquement les répertoires utilisateur supérieurs sous/home sans copier le contenu. –
@DV: La page man indique que cp -a est équivalent à cp -dpr ... puisque -r gère la récursivité, cp -dp devrait faire ce que vous voulez sans récursion. –
Adam, cp omet les répertoires si -r n'est pas spécifié, donc -dp ne s'appliquerait qu'aux fichiers AFAIK. – codelogic