Автоматизация использования dd в скрипте bash с переменной дня месяца

Автоматизация использования dd в скрипте bash с переменной дня месяца

Я хочу автоматизировать резервное копирование с помощью dd в bash-скрипте.

В настоящее время я использую эту команду для создания резервной копии моего раздела sda2:

sudo dd bs=64K if=/dev/sda2 | gzip > /mnt/backup/backup_sda2_**TODAY**.img.gz 

Я хочу параметризовать bash-скрипт с помощью переменнойСЕГОДНЯ- гдеСЕГОДНЯэто текущий ДЕНЬ МЕСЯЦА – например,4 апреля 2021 г.будет4

Итак, мои вопросы:

1.Как создать переменнуюСЕГОДНЯиспользуете системную дату?

2.Как встроить его в команду dd выше?

Большое спасибо

решение1

Использоватьdate +FORMATчтобы получить текущий день ( %dв вашем случае это будет FORMAT) изамена команды( $(...)) чтобы встроить его в вашу команду:

sudo dd bs=64K if=/dev/sda2 | gzip > /mnt/backup/backup_sda2_$(date +%d).img.gz 

Обратите внимание, что %dэто дополнено нулями:

%d - день месяца (например, 01)

Обратите внимание, что это создаст резервную копию всего sda2раздела, включая пустое пространство. Конечно, есть лучшие варианты, например, инструмент Ubuntu Déjà Dup (он же «Backups»), который делает инкрементальные резервные копии.

Связанный контент