在从psql转储的文件名中包含日期/时间

时间:2017-11-09 05:34:41

标签: linux postgresql sh

我计划运行一个.sh脚本,该脚本将通过linux上的cron定期运行。我在centos上运行postgres 8.4。

我的脚本会包含这样的内容:

psql -U username -d db_name -c "COPY orders TO stdout DELIMITER ',' CSV HEADER;" > orders.csv

我知道还有其他方法可以将表转储到csv文件中,但这是我唯一可以在没有管理员权限的情况下使用的方法。

我的问题是命名文件。我想特别命名文件的内容: YYYYMMDD-HHMM-orders.csv

我不是那里最好的脚本大师(正如你所知道的那样)所以如何让转储动态地执行此操作?

由于

2 个答案:

答案 0 :(得分:3)

man date

我个人也将秒%S添加到文件名

Cross-Origin-Allow-Headers: Authorization

将显示其他格式选项

答案 1 :(得分:0)

使用以下代码并且工作正常

使用一个变量指定日期格式并使用相同的

代码:

I=`date +%Y%m%d-%H%M%S -d`
psql -U username -d db_name -c "COPY orders TO stdout DELIMITER ',' CSV HEADER;" > $i-orders.csv