Я хочу автоматизировать резервное копирование с помощью 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?
Большое спасибо
Используйте date + FORMAT
, чтобы получить текущий день (FORMAT будет % d
в вашем случае) и подстановку команды ( $ (...)
), чтобы встроить его в вашу команду:
sudo dd bs=64K if=/dev/sda2 | gzip > /mnt/backup/backup_sda2_$(date +%d).img.gz
Обратите внимание, что % d
дополняется нулями:
% d - day месяца (например, 01)
Обратите внимание, что это создаст резервную копию всего раздела sda2
, включая пустое пространство. Конечно, есть варианты получше, например Инструмент Ubuntu Déjà Dup (он же «Резервные копии»), который выполняет инкрементное резервное копирование.