0 votes

Comment déplacer un dossier vers un autre chemin et le ramener dans le même arbre en fusionnant son contenu sur Unix?

Sur mon téléphone Android, j'ai :

  • Une tâche cron pour déplacer des fichiers à 1h59 du matin de /sdcard/WhatsApp/Media vers le dossier /sdcard/wppmediabkp avant la sauvegarde de WhatsApp à 2h00 :

mv -f /sdcard/WhatsApp/Media /sdcard/wppmediabkp

  • Une tâche cron pour déplacer les fichiers à 2h30 du matin en arrière (de /sdcard/wppmediabkp vers /sdcard/WhatsApp/Media) :

mv -f /sdcard/wppmediabkp /sdcard/WhatsApp/Media

  • Les "tâches cron" sont des tâches sur l'application "Tasks!" (en les planifiant avec 00 59 1 ? * * et 00 30 2 ? * *). Les commandes sont également testées dans l'application Termux.

Objectif :

  • Exclure le dossier Media de la sauvegarde, mais également restaurer le "lien" d'image dans les discussions (pour ne pas les télécharger à nouveau).

Lors de la restauration du dossier wppmediabkp vers /sdcard/WhatsApp/Media :

  1. Parfois ça fonctionne bien (il crée le /sdcard/WhatsApp/Media avec tous ses contenus). Cela se produit lorsque le dossier /sdcard/WhatsApp/Media n'existe pas. Pour moi, c'est le comportement attendu.
  2. Parfois il crée un sous-dossier (/sdcard/WhatsApp/Media/wppmediabkp). Cela se produit lorsque le dossier /sdcard/WhatsApp/Media existe. Pour moi, c'est le problème - je voudrais restaurer l'arborescence du dossier d'origine en fusionnant ses contenus.

Je pense que cela se résume à un problème Unix, car je peux utiliser toutes les commandes de base Unix.

Comment résoudre ce problème (pour récupérer le dossier Media en fusionnant ses contenus) en utilisant la commande mv ?

0 votes

Avec mv (et cp), lorsque la cible est un répertoire, le dernier élément de chaque chemin source est copié dans le répertoire cible, donc la commande de restauration devrait être mv -f /sdcard/wppmediabkp/Media /sdcard/WhatsApp/.

1voto

Une approche consiste à ne pas déplacer les répertoires. Laissez-les exister tout le temps, déplacez leur contenu de temps en temps :

mv -f /sdcard/WhatsApp/Media/* /sdcard/wppmediabkp/
# et plus tard
mv -f /sdcard/wppmediabkp/* /sdcard/WhatsApp/Media/

Notes :

  • * ne correspondra pas aux fichiers/dossiers cachés ;
  • avec trop d'objets, vous pouvez rencontrer une erreur "liste d'arguments trop longue".

Si l'un de ces problèmes se présente, la solution devrait utiliser quelque chose comme find … -exec mv …. De toute façon, déplacez ce qui se trouve à l'intérieur du répertoire, pas le répertoire lui-même.

0 votes

Excellent! Bien que l'application Schedule! ne fonctionne pas bien, Termux montre qu'ils sont corrects pour l'opération de sauvegarde souhaitée.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X