如何让 bash 脚本每次运行时都生成一个新的文件名?

agm*_*gmb 4 bash cron tar

我想.tar在一周中的每一天制作一个特定目录的文件。我想这样做的方式是使用 bash 脚本每天使用 crontab 制作一个 tar 文件。

我想知道,有没有办法调节 bash 脚本生成的 tar 文件的名称?现在每次创建文件时都是一样的,因为 bash 只有一个命令:tar -cvf file.tar /home/name/folder/

但我想为它根据当天如稍有不同的充FileTus.tarFileWed.tarFileFri.tar,等。

有没有办法通过终端命令来做到这一点?

谢谢

chr*_*tis 8

date命令可以以您想要的任何格式将日期作为文本生成。然后,您将在脚本中使用它,例如:

tar -cvf File$(date +%a).tar /home/name/folder
Run Code Online (Sandbox Code Playgroud)

这将产生FileMon.tarFileTue.tar如上所述。有关man date它可以生成的不同日期格式的说明,请参见。


Nit*_*esh 5

为什么不使用完整的日期格式而不只是日期名称呢?这样就不会每周生成相同的文件名:)

像这样的东西 -

nits@excalibur:~$ tar -cvf /home/nits/Desktop/File$(date +%d%B%Y).tar Music/
Run Code Online (Sandbox Code Playgroud)

会产生这样的输出 -

nits@excalibur:~$ ls ~/Desktop/
File14August2012.tar
Run Code Online (Sandbox Code Playgroud)

对于带有时间戳的内容(如评论中所要求的):

nits@excalibur:~$ tar -cvf "/home/nits/Desktop/File$(date +%d%B%Y_%H:%M).tar" Music/
nits@excalibur:~$ ls ~/Desktop/
File14August2012_20:14.tar
Run Code Online (Sandbox Code Playgroud)