用于进行数据库备份的Shell脚本仅在提示符下起作用

阿尔文·巴克(Alvin Bakker)

我有一个可以在命令提示符下正常运行的shell脚本,但是从我的cron作业中会抛出该脚本 unexpected operator

BACKUP=/var/www/backups/mysql
NOW=$(date +"%Y%m%d-%H%M")
MUSER="root"
MPASS="secr3T"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"

find $BACKUP/* -mtime +15 -exec rm {} \;

DBS="$($MYSQL -h $MHOST -u $MUSER -p$MPASS -Bse 'show databases')"
for db in $DBS
do

if [ "$db" == "myDBase" ]; then
    if [ "$db" != "performance_schema" ]; then
        FILE=$BACKUP/mysql_backup_$db.$NOW.tar.gz
        $MYSQLDUMP -h $MHOST -u $MUSER -p$MPASS $db | $GZIP -9 > $FILE
        echo $db
        fi
    fi
done

我正在使用crontab访问脚本 20 0 * * * var/www/backups/backup.site.sh

我得到的错误是:

/var/www/backups/backup.mysql.sh: 20: [: information_schema: unexpected operator
/var/www/backups/backup.mysql.sh: 20: [: mysql: unexpected operator
/var/www/backups/backup.mysql.sh: 20: [: olb: unexpected operator
/var/www/backups/backup.mysql.sh: 20: [: performance_schema: unexpected operator

我正在Ubuntu 14.04上运行最新版本的mySQL。有人知道为什么吗?

耶修尔

在不指定外壳的情况下,默认情况下将获得/ bin / sh(在Ubuntu 14.04上测试)。[sh内置函数不支持该==运算符,因此sh不知道如何进行比较,$db并且myDBase在第20行。

您应该始终以“#!”开始脚本。指定外壳的行。要获得重击,第一行将是#!/bin/bash

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于数据库备份的Linux Shell脚本

来自分类Dev

从MYSQL命令提示符备份数据库

来自分类Dev

在Rails中进行数据库备份4

来自分类Dev

如何使用VistaDB进行数据库备份?

来自分类Dev

从Windows命令提示符运行本地SQL脚本文件以更新远程SQL Server数据库

来自分类Dev

如何创建用于从SSAS数据库进行备份的作业?

来自分类Dev

如何创建用于从SSAS数据库进行备份的作业?

来自分类Dev

用于将数据添加到数据库的PHP脚本不起作用

来自分类Dev

用于将数据添加到数据库的PHP脚本不起作用

来自分类Dev

bash shell脚本提示输入数据库密码

来自分类Dev

Shell脚本在crontab上不起作用,但在其他情况下起作用

来自分类Dev

我的数据库HotOrNotdb没有显示在命令提示符下的数据库列表中

来自分类Dev

将JSON数据库与Java程序连接(记事本+命令提示符)

来自分类Dev

Oracle数据库通过命令提示符导入.sql文件

来自分类Dev

Oracle数据库通过命令提示符导入.sql文件

来自分类Dev

如何从命令提示符下访问数据库以编写SQL查询?

来自分类Dev

如何使用Linux命令提示符更改MySQL数据库中的存储过程?

来自分类Dev

为什么此脚本仅在预览模式下起作用-Kentico

来自分类Dev

cURL命令在终端提示符下不起作用

来自分类Dev

如何在codeigniter中使用“设置间隔”功能进行数据库自动备份?

来自分类Dev

使用expdp进行数据库逻辑完全备份导出

来自分类Dev

从 SQL Server 进行数据库备份时配置自动密码

来自分类Dev

适用于ORACLE数据库的Ubuntu Shell脚本

来自分类Dev

适用于ORACLE数据库的Ubuntu Shell脚本

来自分类Dev

数据库<> PHP通信脚本不起作用

来自分类Dev

用于备份服务器上每个数据库但省略系统数据库的脚本

来自分类Dev

用于创建SQL Server数据库备份文件的Python脚本(使用pyodbc)

来自分类Dev

备份和保存SQL Server数据库的VB.Net代码不起作用

来自分类Dev

如何使用命令提示符检查mysql中每个数据库/表使用的内存?

Related 相关文章

  1. 1

    用于数据库备份的Linux Shell脚本

  2. 2

    从MYSQL命令提示符备份数据库

  3. 3

    在Rails中进行数据库备份4

  4. 4

    如何使用VistaDB进行数据库备份?

  5. 5

    从Windows命令提示符运行本地SQL脚本文件以更新远程SQL Server数据库

  6. 6

    如何创建用于从SSAS数据库进行备份的作业?

  7. 7

    如何创建用于从SSAS数据库进行备份的作业?

  8. 8

    用于将数据添加到数据库的PHP脚本不起作用

  9. 9

    用于将数据添加到数据库的PHP脚本不起作用

  10. 10

    bash shell脚本提示输入数据库密码

  11. 11

    Shell脚本在crontab上不起作用,但在其他情况下起作用

  12. 12

    我的数据库HotOrNotdb没有显示在命令提示符下的数据库列表中

  13. 13

    将JSON数据库与Java程序连接(记事本+命令提示符)

  14. 14

    Oracle数据库通过命令提示符导入.sql文件

  15. 15

    Oracle数据库通过命令提示符导入.sql文件

  16. 16

    如何从命令提示符下访问数据库以编写SQL查询?

  17. 17

    如何使用Linux命令提示符更改MySQL数据库中的存储过程?

  18. 18

    为什么此脚本仅在预览模式下起作用-Kentico

  19. 19

    cURL命令在终端提示符下不起作用

  20. 20

    如何在codeigniter中使用“设置间隔”功能进行数据库自动备份?

  21. 21

    使用expdp进行数据库逻辑完全备份导出

  22. 22

    从 SQL Server 进行数据库备份时配置自动密码

  23. 23

    适用于ORACLE数据库的Ubuntu Shell脚本

  24. 24

    适用于ORACLE数据库的Ubuntu Shell脚本

  25. 25

    数据库<> PHP通信脚本不起作用

  26. 26

    用于备份服务器上每个数据库但省略系统数据库的脚本

  27. 27

    用于创建SQL Server数据库备份文件的Python脚本(使用pyodbc)

  28. 28

    备份和保存SQL Server数据库的VB.Net代码不起作用

  29. 29

    如何使用命令提示符检查mysql中每个数据库/表使用的内存?

热门标签

归档