我正在尝试标记一个大目录,我希望输出文件包含日期。这是我迄今为止所拥有的。
tar -zcvf "mywebsite website backup" $(date "+%Y-%m-%d %T") public_html
不过这不太管用。举个例子,我试图将下面的单个字符串作为文件名。到目前为止,调用运行良好,我不需要帮助,但我不知道如何将"我的网站备份"与到目前为止的输出连接起来,而不首先将它们存储在变量中(这似乎很笨拙)。
mywebsite website backup 2001-12-01 12:04:03
变量等在双引号内(但不在单引号内)进行解释:
tar -zcvf "mywebsite website backup $(date '+%Y-%m-%d %T').tgz" public_html
(我加了.tgz
后缀,你显然忘记了。)
如果你的文件名中没有空格,你可以不用引号:
tar -zcvf foo_backup_$(date '+%Y-%m-%d_%T').tgz foo/
或者,您可以反过来使用date
已经接受格式字符串的事实:
tar -zcvf $(date +'foo_backup_%Y-%m-%d_%T.tgz') foo/
(如果文件名包含空白,则$()
周围仍需要双引号。)
注意:由于各种原因,在文件名中包含冒号通常不是一个好主意。
您也可以尝试语法:
tar -zcvf "mywebsite website backup `date "+%Y-%m-%d %T"`.tgz" public_html