我已经设置了一个cron任务,我想将输出保存到文件中。该文件的名称应基于执行cron的时间(例如:20110317-113051.txt)。
我的实际cron命令如下:
lynx -dump http://somesite/script.php > /Volumes/dev0/textfile.txt
我希望将textfile
替换为某种独特的时间戳。
我已经尝试了
lynx -dump http://somesite/script.php > $(date).txt但是我收到错误,指出命令不明确。
感谢您的帮助!
索林
答案 0 :(得分:13)
可以为date
命令指定一种格式,以确定其生成日期的确切形式。看起来好像您需要$(date +%Y%m%d-%H%M%S).txt
。使用这种格式,date
的输出应该没有空格,括号等,否则可能会混淆shell或lynx
命令。
有关date
命令和http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/date.1.html的文档,请参阅http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/strftime.3.html以获取格式字符串的文档,该标识与标准库中的strftime
函数相同。
答案 1 :(得分:10)
您需要引用文件名,因为默认情况下日期中会包含特殊字符:
lynx -dump http://somesite/script.php > "$(date).txt"
正如@Gareth所说,你应该为日期指定一个格式字符串,这样你就可以获得更易读/可管理的文件名,例如
lynx -dump http://somesite/script.php > "$(date +%Y%m%d-%H%M%S).txt"