Rsync для всех каталогов, содержащих определенный файл

Поиск в Google по запросу protovpn linux installприводит к этой странице , где четко сказано, что команда должна быть

sudo wget -O protonvpn-cli.sh https://raw.githubusercontent.com/ProtonVPN/protonvpn-cli/master/protonvpn-cli.sh

Так что нет, вы не использовали

sudo wget -O protonvpn-cli.sh

, чтобы загрузить его, потому что, как говорится в сообщении об ошибке, отсутствует URL-адрес. Без URL это просто не будет работать.

А если вы не скачаете protonvpn-cli.sh, потому что забыли URL, то конечно вы не сможете его выполнить. Вот что говорит сообщение об ошибке для второй команды.

Итак, :Прочтите сообщения об ошибках. Исправьте свои ошибки. Попробуйте снова.

0
29.10.2021, 12:30
1 ответ

Если количество каталогов для резервного копирования не слишком велико, вы можете поместить их в командную строку с помощью сценария оболочки bash. Следующий шеллскрипт является демо.

Структура каталогов

$ tree data
data
└── sub1
    ├── sub1_1
    │   ├── a
    │   ├── b
    │   └── backup
    ├── sub1_2
    │   └── c
    └── sub1_3
        ├── backup
        └── d

4 directories, 6 files

Шеллскриптrsyncer

#!/bin/bash

echo -n 'rsync -avn ' > command
find. -name 'backup' -type f | sed -e 's%/backup%%' -e 's%.*%"&"%' | tr '\n' ' ' >> command
echo ' target/' >> command

bash command

Пробный прогон

$./rsyncer 
sending incremental file list
created directory target
sub1_1/
sub1_1/a
sub1_1/b
sub1_1/backup
sub1_3/
sub1_3/backup
sub1_3/d

sent 199 bytes  received 64 bytes  526.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)

Обратите внимание, что sub1/sub1_2 и файл c не указаны.

Резервное копирование

Удалите параметр nиз rsync в шеллскрипте и запустите его или из файла commandи запустите его,

sed 's/-avn/-av/' command > buper

$ bash buper
sending incremental file list
created directory target
sub1_1/
sub1_1/a
sub1_1/b
sub1_1/backup
sub1_3/
sub1_3/backup
sub1_3/d

sent 383 bytes  received 148 bytes  1,062.00 bytes/sec
total size is 0  speedup is 0.00

$ tree target
target
├── sub1_1
│   ├── a
│   ├── b
│   └── backup
└── sub1_3
    ├── backup
    └── d

2 directories, 5 files

Обратите внимание, что sub1/sub1_2 и файл c не указаны.

0
29.10.2021, 15:28

Теги

Похожие вопросы