使用SQLite命令的Shell脚本不能从crontab运行

时间:2017-05-02 22:36:20

标签: sql bash sqlite shell centos

我有一个bash shell脚本,其中包含一个副本,然后是sqlite3,一个move,最后是remove命令。当我手动运行脚本时 - 它失败并出现'错误:接近“/”:语法错误'。我假设这就是脚本无法完成的原因。失败的脚本是:

 #!/bin/bash

 #Setting Variables
FINAL_CSV=log_"$(date +%Y%m%d)".csv

STAGING_AREA=/opt/card_staging/

CONSUMPTION_AREA=/opt/badge_logs_final/

 # Copy latest db to staging area
cp -p log_"$(date +%Y%m%d)"* $STAGING_AREA

 # convert db to csv and select last 24 hours.
sqlite3 -header -csv /opt/card_staging/*.db "SELECT * FROM Log WHERE Date >= strftime('%s', date('now', '-1 day'));" > $STAGING_AREA/$FINAL_CSV

 # Move daily csv to consumption area
mv $STAGING_AREA/$FINAL_CSV $CONSUMPTION_AREA

 # Once complete, clean up temporary files in staging area
rm -f $STAGING_AREA/log_*  

奇怪的是,如果我手动输入每个命令,然后尝试运行脚本,它就可以了!为了'激活'并执行SQLite命令,我需要添加一些东西吗?我读EOP可能是一个解决方案,但不知道如何将这个包含在我的简单脚本中?

0 个答案:

没有答案