在具有月份变量的 bash 脚本中自动使用 dd

ato*_*ird 2 bash dd

我想在 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命令中?

非常感谢

pLu*_*umo 5

使用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 工具(又名“备份”),它进行增量备份。

  • grrrrrrrrrrrrrrrr :D (2认同)