网站数据备份是每一个站长必备的技能,做了数据备份可以降低网络数据被丢失的风险。数据库备份时一般有四种方法
1) 直接拷贝数据库文件(不推荐)
2) 使用mysqlhotcopy备份数据库
3) 使用mysqldump备份数据库
4) 使用主从复制机制(replication)(实现数据库实时备份)
我们今天说说使用mysqldump对数据库不停机做备份。在/root/目录下新建databasebackup.sh文件并复制下面的代码为文件内容。并修改配置信息
linux SHELL定时备份数据库并上传到指定FTP
#!/bin/sh
#!技术部分享
http://www.jishubu.net
# 定义变量,请根据具体情况修改
# 定义脚本目录
scriptsDir=`pwd`
# 定义用于备份数据库的用户名和密码
user=root
userPWD=123456
# 定义备份数据库名称
dbNames=(jishubu xingzhengbu shichangbu)
# 定义备份目录
dataBackupDir=/home/backup
# 定义备份日志文件
logFile=$dataBackupDir/log/mysqlbackup.log
# DATE=`date -I`
DATE=`date -d "now" +%Y%m%d`
echo `date -d "now" "+%Y-%m-%d %H:%M:%S"` > $eMailFile
for dbName in ${dbNames
}
do
# 定义备份文件名
dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz
# 使用mysqldump备份数据库,请根据具体情况设置参数
/usr/local/mysql/bin/mysqldump -u$user -p$userPWD $dbName | gzip > $dumpFile
if [[ $? == 0 ]]; then
echo "DataBase Backup Success!" >> $eMailFile
else
echo "DataBase Backup Fail!" >> $emailFile
fi
# 写日志文件
echo "================================" >> $logFile
cat $eMailFile >> $logFile
echo $dumpFile >> $logFile
done
# ftp上传备份
for dbName in ${dbNames
}
do
file1=$dbName-$DATE.sql.gz
ftp -v -n 127.0.0.1<<EOF
user jishubu 123456
bi
cd mysql
lcd $dataBackupDir/db
mput $file1
bye
EOF
done
本shell运行前请手动建立/home/backup/db /home/backup/log 目录。shell 运行前记得添加执行权限 chmod 777 databasebackup.sh
修改改好后添加定时任务
crontab -e
01 03 * * * /root/databasebackup.sh >>/home/backup/log/crontablog.txt
分享到:
相关推荐
### Linux自动备份MySQL数据库并上传到FTP服务器上Shell脚本详解 #### 一、脚本概述 本脚本主要用于在Linux环境下实现MySQL数据库的自动备份,并将备份文件上传至指定的FTP服务器。对于需要定期备份MySQL数据库的...
本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL数据库的定时自动备份,并通过FTP协议上传至远程服务器。 #### 目标需求分析 目标是开发一个脚本,该脚本能定期执行MySQL数据库的备份,并将这些备份文件...
本文主要涉及如何在Linux环境下,利用Oracle数据库的备份功能,结合FTP服务实现自动定时备份并上传到远程服务器。以下是对整个流程的详细解释: 1. **Oracle数据库备份**: - 使用`exp`命令进行Oracle数据库的逻辑...
在IT行业中,shell脚本和cron服务是Linux系统中常用的任务调度工具,用于自动化执行特定任务,例如在特定时间导出数据并将其上传至FTP服务器。在这个场景中,`unload.sh`是执行数据导出的shell脚本,而`cron.cron`则...
在Linux服务器管理中,定期备份是一项至关重要的任务,以防止数据丢失或系统故障。本文将详细介绍如何在CentOS操作系统中使用Shell脚...同时,通过FTP上传备份到远程服务器,提高了数据安全性,避免了单点故障的风险。
为了实现自动化,这个过程可以通过定时任务服务(如cron on Linux或Task Scheduler on Windows)来定期执行,确保数据库备份的及时性。 在压缩包"lftp工具及数据库脚本备份ftp服务器例子.zip"中,可能包含的文件有...
本文将详细介绍如何在UNIX/Linux环境下实现MySQL数据库的全量备份和增量备份,并通过Shell脚本来自动化这一过程。 #### 二、全量备份 全量备份是指备份整个数据库的所有数据,包括所有的表和表中的所有记录。这种...
总结起来,这个shell脚本提供了一种有效且可自定义的方法来实现Linux系统下MySQL数据库的自动备份及FTP上传,对于系统管理员来说是一个实用的工具。在维护数据安全性的同时,也简化了日常的管理任务。
用户可以定制自己的任务计划,例如定时备份、清理日志等。Crontab由五个字段组成:分钟、小时、日期、月份和星期,每个字段都允许设定一个或多个值来定义执行时间。例如,`0 3 * * *`表示每天凌晨3点执行任务。 2. ...
- **信号处理**:使用`trap`命令捕获信号,并指定相应的处理函数。 - **定时任务**:利用`cron`计划任务来定期执行脚本。 #### 六、实践案例 1. **备份文件或目录**: - 使用`tar`命令创建压缩存档。 - 示例...
4. **定期自动备份数据库文件并上传至FTP服务器** - 要实现数据库的定期自动备份,可以利用Linux下的cron定时任务。首先,需要在FTP服务器上创建一个具有上传权限的用户,并确保FTP服务正常运行。然后,编写shell脚...
Linux下Oracle备份与恢复是一个关键的数据库管理任务,涉及到在Linux操作系统环境下对Oracle数据库进行备份以及在必要时进行数据恢复的过程。备份是为了防止数据丢失或损坏,而恢复则是当数据库发生故障时能够将数据...
本篇将详细介绍如何在Linux环境下设置MySQL的自动备份,并通过FTP服务将备份文件上传至远程服务器,同时清理旧的备份文件。 首先,我们需要创建一个Shell脚本来执行备份过程。在这个示例脚本中,我们可以看到以下...
【Shell脚本自动备份MySQL到FTP并定期清理过期备份】是Linux系统中常用的一种自动化运维策略,旨在提高数据安全性和管理效率。以下是对这一主题的详细解释: 1. **Shell脚本**:Shell脚本是Linux/Unix操作系统中...
标题 "ftp&linux下imp、exp" 涉及到的是在Linux操作系统中使用FTP(File Transfer Protocol)进行文件传输,以及Oracle数据库的导入(imp)和导出(exp)操作。这两个工具对于数据库管理员和IT专业人员来说是至关...
根据给定的信息,本文将详细解析如何在Linux环境下利用FTP协议进行...通过上述步骤,我们可以在Linux环境中成功实现通过FTP进行Oracle数据库的自动备份,并将其传输到远程服务器上,从而有效提高数据安全性与可靠性。
通过Shell脚本调用lftp进行FTP文件传输和利用mysqldump进行MySQL数据库备份。 d. 使用tar工具将备份数据压缩打包。 e. 利用crontab设置定时任务,周期性自动运行备份脚本。 f. 确认备份数据是否成功上传到远程...
通过以上步骤,我们可以在Linux环境下成功实现Oracle数据库的自动备份,并将备份文件定期传输到其他服务器以确保数据的安全性。这种方式不仅大大提高了数据的安全性,同时也减轻了DBA的工作负担,是现代企业IT管理中...
- **执行备份**:通过`$DUMP`命令进行备份,并指定输出文件名。 - **压缩备份文件**:使用`tar`命令将备份文件压缩成`.tar.gz`格式。 - **删除未压缩文件**:删除未压缩的原始备份文件。 - **设置权限**:为压缩后的...