我想在 bash 脚本中使用 dd 自动备份。
我目前使用此命令来创建我的 sda2 分区的备份映像:
sudo dd bs=64K if=/dev/sda2 | gzip > /mnt/backup/backup_sda2_**TODAY**.img.gz
Run Code Online (Sandbox Code Playgroud)
我想用变量TODAY参数化 bash 脚本- 其中TODAY是当前的 DAY OF THE MONTH - 因此,例如2021 年 4 月 4 日将是4
所以我的问题是:
1.如何使用系统日期创建变量TODAY?
2.如何将其构建到上面的dd命令中?
非常感谢
使用date +FORMAT
来获取当前天(格式将%d
你的情况),并命令替换($(...)
)把它建设成为你的命令:
sudo dd bs=64K if=/dev/sda2 | gzip > /mnt/backup/backup_sda2_$(date +%d).img.gz
Run Code Online (Sandbox Code Playgroud)
请注意,这%d
是零填充的:
%d - 月份中的第几天(例如,01)
请注意,这将备份整个sda2
分区,包括空白空间。肯定有更好的选择,例如 Ubuntu 的 Déjà Dup 工具(又名“备份”),它进行增量备份。