Linux定时任务crontab执行脚本无输出

Linux系统 专栏收录该内容
17 篇文章 0 订阅

参考地址:
https://blog.csdn.net/cy309173854/article/details/53186516

问题:shell脚本在手动执行的时候可以正常打印输出,在定时任务的时候不会打印执行命令后的输出内容

原因:是某些命令无法使用crontab调用,因为用户登陆Linux操作系统的时候,/etc/profile, ~/.bash_profile等配置文件会被自动执行,所以手动执行脚本能够成功,但是crontab执行失败

解决办法:
1.脚本内的命令全部用绝对路径

#!/bin/bash
date=$(date +%d-%m-%Y)
/usr/local/mysql/bin/mysqldump -u root -p'xxx' xxx > /data/sdv1/mysqlbak/$date-xxx.sql
echo `date +%Y-%m-%d` >> /data/sdv1/mysqlbak/$date.log
echo 'Backup Successfully Completed' >> /data/sdv1/mysqlbak/$date.log

2.脚本文件内容添加环境变量

#!/bin/bash
. /etc/profile
. ~/.bash_profile
/usr/local/mysql/bin/mysqldump -u root -p'xxx' xxx > /data/sdv1/mysqlbak/$date-xxx.sql
echo `date +%Y-%m-%d` >> /data/sdv1/mysqlbak/$date.log
echo 'Backup Successfully Completed' >> /data/sdv1/mysqlbak/$date.log
  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值