【问题标题】:Cron job - exported file emailed is blankCron 作业 - 通过电子邮件发送的导出文件为空白
【发布时间】:2019-01-12 20:52:55
【问题描述】:

我收到了来自以下 CRON 作业的电子邮件,但附加了一个空白文件。我检查了 /home/XXXXXX/public_html/tmp/ 目录,并在该 /tmp/ 文件夹中创建了一个好的 tqhsa_hikashop_order.txt 文件,但我收到的电子邮件所附的文件是空的。

mysql --database=XXXXXXXX_jml_6UCHadruwR8veju3 -u XXXXXXXX_8eh6Nu --password=fRa6r7wRerEtuzud -B -e "SELECT order_number, order_created, order_invoice_number, order_full_price, order_discount_code, order_discount_price, order_payment_method, order_payment_price FROM tqhsa_hikashop_order;" > /home/XXXXXXXX/public_html/tmp/tqhsa_hikashop_order.txt | mail -s "Daily Discount Table Dump" -a /home/XXXXXXXX/public_html/tmp/tqhsa_hikashop_order.txt luke@example.com

任何想法为什么没有附加好的文本文件?

【问题讨论】:

    标签: shell cron-task


    【解决方案1】:

    您需要确保您的第一个命令在运行第二个命令之前完成,以便该文件存在于磁盘上。

    所以基本上用&&替换|

    mysql \
      --database=XXXXXXXX_jml_6UCHadruwR8veju3 \
      -u XXXXXXXX_8eh6Nu \
      --password=fRa6r7wRerEtuzud \
      -B \
      -e "SELECT order_number, order_created, order_invoice_number, order_full_price, order_discount_code, order_discount_price, order_payment_method, order_payment_price FROM tqhsa_hikashop_order;" > /home/XXXXXXXX/public_html/tmp/tqhsa_hikashop_order.txt \
    && \
    mail \
      -s "Daily Discount Table Dump" \
      -a /home/XXXXXXXX/public_html/tmp/tqhsa_hikashop_order.txt luke@example.com
    

    用一个例子来说明:

    myuser@myshell:~ $ echo "testing" > testy.txt | cat testy.txt
    cat: testy.txt: No such file or directory
    
    myuser@myshell:~ $ echo "testing" > testy.txt && cat testy.txt 
    testing
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2014-06-27
      • 2012-11-15
      • 1970-01-01
      相关资源
      最近更新 更多