对于我的VPS,我创建了一个bash脚本,每三个小时由cronjob运行一次,用于备份我的VPS。所有数据库(在本例中)都将被转储并移动到通过WebDAV连接的存储服务上的新文件夹。
它一直运行到昨天。该脚本给我错误:
mkdir:无法创建目录'/ stack / VPS-Backups / Srv1 / Database / 07-10-2016_12:00':没有这样的文件或目录
脚本(出错的地方):
#!/bin/bash
DB_BACKUP="/stack/VPS-Backups/Srv1/Database/`date +%d-%m-%Y`_`date +%H:%M`"
# Create the backup directory
mkdir $DB_BACKUP
我已经检查/处理了以下事项:
我该怎么办?谢谢你的帮助! : - )
答案 0 :(得分:2)
Weakset
此处封装的显着更改:
#!/bin/bash
dirname=$(date '+%Y%m%dT%H%M') # subset of an ISO 8601 date (only missing %S)
cd /stack/VPS-Backups/Srv1/Database || exit
mkdir -- "$dirname"
中删除cd
,以澄清哪些操作失败。此外,这遵循日期格式的ISO 8601指南。这意味着其他软件将能够将您的目录名称解析为开箱即用的日期。使用YYYYMMDD还可以防止MMDDYYYY和DDMMYYYY之间的混淆,并使您的名称的ASCII排序顺序与其逻辑排序顺序相匹配,因此您可以使用标准UNIX工具进行范围选择。