我正在创建备份脚本并具有以下内容:
DATE=$(date +"%m-%d-%Y")
zip -r backup.$DATE /home/folder/folder
首先为名称创建日期变量,我猜想 /home/folder/folder 是要备份的目录,其中包含所有其他相关目录和文件。我需要这样做,以便在完成后将 zip 放在 /mnt/backups 中。
非常感谢您的帮助。谢谢
答案1
要将 zip 文件放入正确的目录:
Date=$(date +"%m-%d-%Y")
zip -r "/mnt/backups/backup.$Date" /home/folder/folder
应避免对 shell 变量使用全部大写字母。重要的系统变量全部大写,您不会想意外覆盖其中一个。因此,上述代码使用大小写混合,Date
而不是DATE
。
我会像您建议的那样,将其作为后缀。这样可以避免将来可能出现的混淆。此外,这里根本.zip
不需要创建变量:Date
zip -r "/mnt/backups/backup.$(date +"%m-%d-%Y").zip" /home/folder/folder
最后,月日年格式的日期排序不正确。yyyy-mm-dd 格式会自然地按正确顺序排序。这种常见格式的缩写是%F
。因此:
zip -r "/mnt/backups/backup.$(date +"%F").zip" /home/folder/folder