Zip bash с исключениями и отсутствующими файлами - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь сделать резервную копию папки моего профиля, но у меня есть 2 проблемы. Я искал решения в Stack и в Интернете, но ни одно из них не помогло.

Я нахожусь под Ubuntu 18.04.

Я пробовал 2 способа.

Я бы предпочел этот первый способ

: сделать резервную копию всей папки профиля и добавить исключения, чтобы в случае появления новой не скрытой папки в папке профиля я не проверял это и не редактировал свой сценарий перед его выполнением.

Вот первый скрипт

DESTINATION_FOLDER="/mnt/Data/Backup & Maintenance/_BACKUP/Ubuntu-backup"

zip -r kbn_home_files.zip /home/kbn/ \
    -x /home/kbn/Backup\* \
      /home/kbn/Documents/Cloud\* \
      /home/kbn/snap\* \
      '/home/kbn/VirtualBox VMs\*' \
      "/home/kbn/*.*" \
&& rsync -ztav --delete-after /home/kbn/Backup/ "$DESTINATION_FOLDER"

Задача 1 : все папки созданы, но почти все файлы отсутствуют

Пример в папках:

Пример: я создал папку «bin», содержащую файлы:

drwxrwxr-x  2 kbn  kbn  4096 févr. 12 13:24 ./
drwxr-xr-x 39 kbn  kbn  4096 févr. 12 11:22 ../
-rwxr-xr-x  1 kbn  kbn    91 févr. 12 11:24 00_kbn_launcher*
-rwxrwxr-x  1 kbn  kbn  1384 févr. 12 13:01 0_kbn_zip_send_folders.sh*
-rw-rw-r--  1 kbn  kbn     0 févr. 12 13:24 askUbuntu.txt
-rwxr-xr-x  1 root root   79 févr.  8 13:01 boot_script_perso*
-rw-rw-r--  1 kbn  kbn  2784 févr. 12 12:44 sources.txt
-rw-r--r--  1 kbn  kbn    23 févr.  8 12:38 sync_perso_exclusions.txt
-rwxrwxr-x  1 kbn  kbn   709 févr. 10 14:16 sync_perso.sh*

Но zip-файл содержит только 2 файла:

drwxrwxrwx 1 root root   0 févr. 12 11:24 ./
drwxrwxrwx 1 root root 528 févr. 12 11:22 ../
-rwxrwxrwx 1 root root  91 févr. 12 11:24 00_kbn_launcher*
-rwxrwxrwx 1 root root  79 févr.  8 13:01 boot_script_perso*`

Все остальные папки пусты.

Проблема 2 : эта папка с пробелом в foldername не исключена:

/home/kbn/VirtualBox VMs

Я попробовал второй скрипт , архивируя несколько папок.

DESTINATION_FOLDER="/mnt/Data/Backup & Maintenance/_BACKUP/Ubuntu-backup"

zip -r kbn_home_files.zip \
    /home/kbn/bin \
    /home/kbn/Bureau \
    /home/kbn/Documents -x /home/kbn/Documents/Cloud\* \
    /home/kbn/Images \
    /home/kbn/Modèles \
    /home/kbn/Musique \
    /home/kbn/Téléchargements \
    /home/kbn/Vidéos \
&& rsync -ztav --delete-after /home/kbn/Backup/ "$DESTINATION_FOLDER"

Проблема 3 : работает лучше, но я не нахожу способ исключить / home / kbn / Documents / Cloud подпапку, процесс zip останавливается в папке «Document».

Я мог бы поместить / home / kbn / Documents -x / home / kbn / Documents / Cloud * \ непосредственно перед выполнением rsyn c, но это означает, что мне больше не понадобятся никакие другие исключения, и я хотел бы знать, есть ли способ сделать это следующим образом:).

Если кто-то может помочь, большое спасибо заранее !!

...