Как создать скрипт, который содержит несколько команд?

Как можно уместить 5 идентичных команд в один скрипт на дебиане для создания резервных копий через SSH, чтобы они выполнялись последовательно?
  • 31 июля 2024 г. 1:53
Ответы на вопрос 2
1. Откройте текстовый редактор, например, nano, и создайте новый файл, например, backup_script.sh:

```bash
nano backup_script.sh
```

2. Добавьте следующие строки с командами создания резервной копии на каждую из папок:

```bash
#!/bin/bash

scp -r /path/to/folder1 username@remote_host:/path/to/backup/folder1
scp -r /path/to/folder2 username@remote_host:/path/to/backup/folder2
scp -r /path/to/folder3 username@remote_host:/path/to/backup/folder3
scp -r /path/to/folder4 username@remote_host:/path/to/backup/folder4
scp -r /path/to/folder5 username@remote_host:/path/to/backup/folder5
```

3. Сохраните изменения, нажмите `Ctrl + O`, затем нажмите `Enter`, и выйдите из текстового редактора, нажав `Ctrl + X`.

4. Сделайте скрипт исполняемым с помощью команды:

```bash
chmod +x backup_script.sh
```

5. Выполните скрипт с помощью команды:

```bash
./backup_script.sh
```

Теперь все пять команд будет выполнены последовательно, создавая резервные копии папок на удаленном сервере через SSH.
#!/bin/bash

tar zcf - /dir1 | ssh [email protected] "cat > /mnt/BACKUP/dir1_$(date '+%F_%T').tar.gz"
tar zcf - /dir2 | ssh [email protected] "cat > /mnt/BACKUP/dir2_$(date '+%F_%T').tar.gz"
tar zcf - /dir3 | ssh [email protected] "cat > /mnt/BACKUP/dir3_$(date '+%F_%T').tar.gz"


Если все поддиректории в одном месте - можно сделать цикл по списку директорий.
#!/bin/bash

for dir in "dir1" "dir2" "dir3" ; do
    tar zcf - /mnt/md4/${dir} | ssh [email protected] "cat > /mnt/BACKUP/${dir}_$(date '+%F_%T').tar.gz"
done
Похожие вопросы