首页 > 解决方案 > 用我的自动脚本清空文件来备份我的数据库(手动没问题)

问题描述

我尝试将我的数据库从我的 wordpress 中保存在 AWS 的 EC2 实例上。如果我这样做,手动就可以了:

mysqldump -u root -p*mypassword* bitnami_wordpress > bdd.sql</i>

但是,如果我执行此脚本(test.sh):

#!/bin/bash

################################################################
##
##   MySQL Database Backup Script
##   Written By: Rahul Kumar
##   URL: https://tecadmin.net/bash-script-mysql-database-backup/
##   Last Update: Jan 05, 2019
##
################################################################

export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`

################################################################
################## Update below values  ########################

DB_BACKUP_PATH='/home/bitnami/db_backup/'
MYSQL_USER='root'
MYSQL_PASSWORD='VTj28yRtKJRn'
DATABASE_NAME='bitnami_wordpress'
BACKUP_RETAIN_DAYS=2   ## Number of days to keep local backup copy

#################################################################

mkdir -p ${DB_BACKUP_PATH}/${TODAY}
echo "Backup started for database - ${DATABASE_NAME}"


mysqldump \
   -u ${MYSQL_USER} \
   -p${MYSQL_PASSWORD} \
   ${DATABASE_NAME} > ${DB_BACKUP_PATH}/${TODAY}        /${DATABASE_NAME}-${TODAY}.sql

if [ $? -eq 0 ]; then
  echo "Database backup successfully completed"
else
  echo "Error found during backup"
  exit 1
fi


##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####

DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`

if [ ! -z ${DB_BACKUP_PATH} ]; then
      cd ${DB_BACKUP_PATH}
      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
            rm -rf ${DBDELDATE}
      fi
fi

### End of script ####                                               

在我的 crontab 中:

<i>*/1 * * * * /home/bitnami/scripts/mysql/test.sh</i>

为什么我收到一个空文件?

该文件位于 777 中。服务器位于 AWS 上,带有 ec2。

谢谢你的帮助 !

标签: mysqlcronis-emptymysql-backup

解决方案


推荐阅读