Linux定时任务,执行shell文件失败问题

1 前言

最近一直被别人攻击数据库,ε=(´ο`*)))唉。又不是什么重要数据,怎么一直逮住我不放了。实在没有什么办法了,只能把数据库做做备份,将损失降到最低吧o(╥﹏╥)o

2 编写shell脚本

2.1 创建shell脚本文件

touch xxx.sh

2.2 编辑shell脚本文件

vim xxx.sh

MySQL备份基本命令

mysqldump -uxxx -pxxx dbname > backup.sql

将上面MySQL的基本导出语句的用户名,密码,数据库,导出的SQL文件名补全就可以了(根据自己的需求)

3 创建定时任务

使用crontab命令创建定时任务

crontab -e

我自己设置的是中午11:30与晚上的23:30进行备份,时间根据自己的需求来确定。表达式后面是脚本所在的位置(注意名字与路径的正确)

4 出现的问题

当我觉得万事大吉时,我做了一个测试,将定时任务改成每分钟执行,官产效果。问题出现了。首先并没有导出相应的SQL文件,然后我查看了日志,日志如下

我在网上找这个错误是什么意思,但是基本没有说是什么意思的(发送邮件失败),大多是叫我去找在/var/sppol/cron文件夹下找一个名叫root的文件,下面有具体的报错信息,但是当我去下面找这个文件时,哪里有什么root文件ヽ(ー_ー)ノ

5 解决问题

5.1 重定向找出错误信息

上面的信息是发送邮件报错,没有具体的报错信息。首先我想到的是,可能是我的语句写错了,但是经过一番检验,发现并没有错。那究竟是什么问题呢?

为了找到错误的具体信息,我把语句改成了

mysqldump -uxxx -pxxx dbname > backup.sql >xxx.log 2>&1

将它的标准输出错误输出信息都重定向到了一个日志中

经过一番操作,我发现了日志中的信息

/bin/sh: /usr/xxx.sh: Permission denied

拒绝访问(我是root用户,排除需要root才能执行的原因,然后就在这时突然想到了还有文件的执行权限问题)

查看文件是否有执行权限,结果果然不出所料

马上添加执行权限(看情况添加权限,我只添加了文件所有者的执行权限)

chmod u+x xxx.sh

5.2 报错仍未解决

终于,这次shell脚本执行了,导出了SQL文件,但是通过查看日志,发现还是会出现mailed 73 bytes of output but got status 0x004b#012这个问题,这是为什么呢?(都快哭了o(╥﹏╥)o)

通过查看maillog,发现了下面的报错

cat  /var/log/maillog

postfix/sendmail[8087]: fatal: parameter inet_interfaces: no local interface found for ::1这是什么错误了(参数inet_interfaces:未找到::1的本地接口),又经过一番查找,终于找到了解决办法
/etc/postfix/main.cf文件中inet_interfaces值改为all

vim /etc/postfix/main.cf

再次查看日志,发现没有报错了,也在/var/sppol/cron文件夹下找到了名叫root的文件了,开心(✪ω✪)

至此,问题全部解决,完结撒花✿✿ヽ(°▽°)ノ✿

Linux定时任务,执行shell文件失败问题mailed 73 bytes of output but got status 0x004b#012报错解决相关推荐

  1. crontab无法执行且(root) MAIL (mailed 54 bytes of output but got status 0x004b#012错误

    今日在一台阿里云主机使用crontab,发现脚本无法执行,状态: shell脚本已经有执行权限chmod +x xxx.sh sh文件第一行加上了she-bang:#!/bin/bash 确认 cro ...

  2. linux crontab : mailed 85 bytes of output but got status 0x004b#012 问题

    查看linux crontab 运行 log(/var/log/cron) 发现有大量如下报错: mailed 85 bytes of output but got status 0x004b#012 ...

  3. 错误(mailed 59 bytes of output but got status 0x004b#012)

    linux设置crontab定时任务scrapy crawl mySpider时,出现错误CROND[10166]: (root) MAIL (mailed 59 bytes of output bu ...

  4. centos7.5 定时任务不执行,定时任务日志报错信息为 MAIL (mailed 68 bytes of output but got status 0x004b#012)

    1.给脚本可执行权限 chmod u+x crontab-log.sh 执行的脚本文件必须要有对应用户的执行权限 2.添加任务 crontab -e */1 * * * * /data/ggzy/re ...

  5. linux定时任务执行脚本文件找不到,linux中脚本放入计划任务当中为什么没有执行呢?...

    如何搭建linux下c++开发环境 方法/步骤 1 1.下载 Linux 下的 Oracle Instant Client 有rpm包和zip包两种,下载任意一种即可,这里以下载的 zip 包为例,下 ...

  6. linux系列(七):shell编程、shell概念、ssh协议概念、执行shell文件的三种方式

    1 概念 https://www.xshell.com/zh/free-for-home-school/ 1.1 xshell(执行linux命令的客户端软件) Xshell [1] 是一个强大的安全 ...

  7. python定时任务执行shell脚本切割Nginx日志-慎用

    Python定时任务执行shell脚本切割Nginx日志(慎用) 缘起 我们有一个Nginx服务用来接收埋点上报数据,输出的日志文件比较大,Nginx没有自带日志分割组件,这样输出的日志文件就比较大, ...

  8. Linux 定时执行shell 脚本

    2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...

  9. linux执行shell过程日志,Android之在linux终端执行shell脚本直接打印当前运行app的日志...

    1.问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1).获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 a ...

最新文章

  1. 5300亿NLP模型“威震天-图灵”发布,由4480块A100训练,微软英伟达联合出品
  2. Android canvas.translate
  3. python 第一课
  4. C/C++extern关键字
  5. materialize_使用Materialize快速介绍材料设计
  6. vs窗体 oracle,VS2010连接oracle数据库的简单例子
  7. 2017.5.9 寻找道路 思考记录
  8. 某班的成绩出来了,现在老师要把班级的成绩打印出来,和 显示当前时间
  9. Apache2 实现https访问http服务
  10. mysqldump 快还是navicat快_剪辑软件评测:选喵影工厂、爱剪辑还是快剪辑?
  11. 时间状语:(现在完成时)/ 固定语句(现在完成时)/29主动表被动/23过去完成时:又 名 过去的过去;/过去将来时/(过去完成时)/25 过去完成时,固定搭配/26 时间状语 (将来完成时)
  12. docker--Hub
  13. 使用 PD Recover 恢复 PD 集群
  14. 【文献阅读】基于深层语言模型的古汉语知识表示及自动断句研究
  15. Django计算机毕业设计交通违章举报平台(程序+lw)Python
  16. 赛轮转债上市价格预测
  17. matlab 4轴机器人建模,SCARA机器人运动学分析及MATLAB建模仿真.pdf
  18. terraform 安装及命令
  19. arduino loar_采用ESP8266和Arduino设计基于IoT的患者健康监测系统
  20. 2022年Github学生包搞起 || copilot、jetbrains一起搞

热门文章

  1. PS中各种滤镜效果的实现
  2. fatfs文件系统与u盘驱动联立起来(usb_host)
  3. PdfjsAnnotate批注集成富文本编辑器源码
  4. Unity性能优化 - 内存
  5. mse均方误差计算公式_视觉SLAM十四讲实践之真实轨迹和估计轨迹均方根误差
  6. 已有Python安装Anaconda,出现warning、报错及解决办法
  7. 【B2B】酒店客房影音解决方案
  8. 场景营销解密:出海品牌在全球市场的差异化策略
  9. 一款超好用的 Redis 可视化管理工具
  10. App 如何快速重启(编译)