shell - Cron 作业 - 通过电子邮件发送的导出文件为空白
问题描述
我收到了来自以下 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
任何想法为什么没有附加好的文本文件?
解决方案
您需要确保第一个命令在运行第二个命令之前完成,以便该文件存在于磁盘上。
所以基本上|
用 a替换&&
:
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
推荐阅读
- html - 如何让我的导航栏完美居中,徽标/图像居中在顶部
- python - 使用 Python、Flask、HTML 时出现 NSException 错误
- in-app-billing - 使用 Google Play 计费库和系统会在 3 天后为应用内产品退款
- c - 确定多项式方程的次数
- dart - 我可以在 Dart 中动态调用静态方法吗?
- c - 在 linux for windows 上交叉编译不会输出 DLL 文件
- ios - Swift - 初始化 UITableViewCell
- r - map2 在列表上解决基于均值协方差矩阵的凸优化问题
- html - HTML5 视频元素加载时间
- android - 适配器 Equivelant 中的 findViewHolderForAdapterPosition 是什么?