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

您所在的位置:网站首页 执行shell脚本生成日志文件的方法有 Linux定时任务crontab执行脚本无输出

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

2024-07-11 19:56| 来源: 网络整理| 查看: 265

参考地址: 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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3