我想在.tar
每周的每一天创建一个特定目录的文件。我想要实现的方法是使用 bash 脚本,每天使用 crontab 创建一个 tar 文件。
我想知道,有没有办法规范 bash 脚本生成的 tar 文件的名称?目前,每次生成文件时,它都是相同的,因为 bash 只有一个命令:tar -cvf file.tar /home/name/folder/
但我希望它根据日期略有不同,例如,,,FileTus.tar
等等。FileWed.tar
FileFri.tar
有没有办法通过终端命令来做到这一点?
谢谢
答案1
该date
命令可以以您想要的任何格式生成文本日期。然后您可以在脚本中使用它,例如:
tar -cvf File$(date +%a).tar /home/name/folder
这将生成FileMon.tar
,FileTue.tar
如上所述。请参阅man date
以了解它可以生成的不同日期格式的描述。
答案2
除了星期几,为什么不采用完整的日期格式呢?这样就不会每周都生成相同的文件名 :)
就像这样 -
nits@excalibur:~$ tar -cvf /home/nits/Desktop/File$(date +%d%B%Y).tar Music/
会产生如下输出 -
nits@excalibur:~$ ls ~/Desktop/
File14August2012.tar
对于带有时间戳的内容(如评论中所问):
nits@excalibur:~$ tar -cvf "/home/nits/Desktop/File$(date +%d%B%Y_%H:%M).tar" Music/
nits@excalibur:~$ ls ~/Desktop/
File14August2012_20:14.tar