首页 > 系统相关 >Linux系统,使用crontab定时执行备份脚本后,备份为空的解决方案

Linux系统,使用crontab定时执行备份脚本后,备份为空的解决方案

时间:2023-06-15 12:23:08浏览次数:68  
标签:-% 备份 crontab mysqldump 为空 Linux 执行

使用crontab执行备份.sh脚本后备份为空,但是自己手动执行是没问题的

参考[(163条消息) 定时任务执行mysql备份脚本备份结果为空_mysql备份脚本日期有空格怎么回事_玉无暇的博客-CSDN博客](https://blog.csdn.net/weixin_51009330/article/details/120431278#:~:text=用 crontab,自动备份MySQL的时候导出总是为空,原因是corn的环境变量中没有mysqldump,所以用crontab执行mysqldump的时候要加上绝对路径,如:%2Fusr%2Flocal%2Fmysql%2Fbin%2Fmysqldump xxxxxxx这样就可以了。)

结论就是用crontab自动备份MySQL的时候导出总是为空,原因是corn的环境变量中没有mysqldump,使用mysqldump是需要给出全路径:

例如,我原来的.sh文件为:

#!/bin/bash
  
UER="xxxxx"
PASSWORD="xxxxx!"
DATABASE="xxxx"


BACKUP_DIR="xxxxxxxxxxxx"


DATE=$(date +%Y-%m-%d-%H%M%S)


mysqldump -u $USER -p$PASSWORD --protocol=TCP -h 127.0.0.1 $DATABASE > $BACKUP_DIR/backup_$DATE.sql

自己手动执行该文件是可以正常执行的,但是一旦由crontab自动执行时,就会出错,备份出来的sql文件始终为空。

改为一下方式即可:

#!/bin/bash
  
UER="xxxxx"
PASSWORD="xxxxx!"
DATABASE="xxxx"


BACKUP_DIR="xxxxxxxxxxxx"


DATE=$(date +%Y-%m-%d-%H%M%S)


/usr/local/mysql/bin/mysqldump -u $USER -p$PASSWORD --protocol=TCP -h 127.0.0.1 $DATABASE > $BACKUP_DIR/backup_$DATE.sql

标签:-%,备份,crontab,mysqldump,为空,Linux,执行
From: https://www.cnblogs.com/csq-66/p/17482521.html

相关文章

  • 【技术积累】Linux中的基础知识【一】
    Linux系统是什么Linux系统是一种开源操作系统,它极具可定制性和灵活性,因此受到了许多人的欢迎。Linux系统以简单,强大和兼容性而著称。它可用于各种设备,从个人计算机到超级计算机,从移动设备到智能家居。Linux系统遵循GNU公共许可证(GPL)下的自由和开源软件原则,这......
  • Linux 设置 VI 快捷键 -- 在多个打开的文件中切换
    场景部署完一系列服务后,想要查看所有服务的catelina.out日志:vi$(find/data/http|grepcatalina.out|grep-vbak)这个命令会打开所有匹配的文件,想要切换下一个文件,可以使用vi自带的命令为:bn或者:bp能否设置快捷键操作呢,显然是可以的:vi~/.vimrc添加:noremap<Tab......
  • Linux 基础 VI 编辑器
    目录一、vi的基本概念1.1命令行模式(commandmode)1.2插入模式(Insertmode)1.3底行模式(lastlinemode)二、vi的基本操作2.1进入vi(重要)2.2切换至插入模式(Insertmode)编辑文件(重要)2.3Insert的切换(重要)2.4退出vi及保存文件(重要)三、命令行模式(commandmode)功能键3.1......
  • linux 常用命令
    (1)通过端口查询进程netstat-nlp|grep5672 ps-ef|grep 1085639 ......
  • linux_11 个很少人知道但很有用的 Linux 命令
    via: http://linux.cn/thread/11931/1/1/1.sudo!!命令没有特定输入sudo命令而运行,将给出没有权限的错误。那么,你不需要重写整个命令,仅仅输入'!!'就可以抓取最后的命令。·········10········20········30········40········50···......
  • MySQL数据库运维实录--通过MySQL Shell Dump/Load 实现数据库对象的逻辑备份与恢复
    [mysql@node01~]$mysqlshMySQLJS>\connectroot@node01:3306MySQLnode01:3306sslJS>util.dumpInstance('/home/mysql/backup')[mysql@node01~]$scp-rbackup/*node02:/home/mysql/backup/util.dumpInstance的关键特性1,多线程备份。并发线程数由thr......
  • 【linux命令】 top命令解析
    第一行:任务队列信息(uptime命令相同)分别是当前系统时间、系统运行了多久、登录了几个用户、loadaverage分别是1分钟、5分钟、15分钟的平均负载情况第二行:Tasks为任务(进程),下图得知:一共136个进程,运行了2个、134个正在休眠、0个停止状态、0个僵死进程第三行:CPU状态信息,us是用户空......
  • Oracle备份状态
    colOPERATIONFORMATa20colSTATUSFORMATa20colMBYTES_PROCESSEDFORMAT999999.99selectOPERATION,STATUS,OBJECT_TYPE,MBYTES_PROCESSED,to_char(START_TIME,'yyyy-mm-ddhh24:mi:ss')ASSTART_TIME,to_char(END_TIME,'yyyy-mm-ddhh24:mi:ss�......
  • Qt编写精美输入法(历时十年迭代/可换肤/支持Qt4/5/6/win/linux/mac/嵌入式等)
    一、前言大概是从2012年就开始研究用Qt写输入法,因为项目需要,嵌入式板子上,没有对应的输入法,当初使用过很多NVR,里面也是鼠标按下弹出输入法面板进行输入,可以切换数字和字母及中文,于是借鉴着操作交互流程,用纯QWidget代码实现一个,当然最初的版本是非常简单和丑陋的,而且功能单一,能打字......
  • ARM Linux 系统设置开机自启动一个程序
    原文:https://blog.csdn.net/weixin_45157820/article/details/119906809前言在之前做项目的时候,他是一个智能拨号模块,是一个单独运行的程序,在ARM开发板上每次重启之后,需要自己再去手动运行一次,这个时候我们想到既然他是智能拨号模块,那就要实现一个全自动的,也就是开......