linux 备份mysql并上传_linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)...
#========================start shell 脚本============================
#!/bin/bash
#定义备份数据库时使用的用户名和密码
db_user="root"
db_passwd="111111"
#定义FTP服务器地址、用户名、密码、目录
ftp_url=113.108.8.80
ftp_user=ftpuser
ftp_passwd=111111
ftp_dir=/mysql_backup/xxxx
#数据库备份的路径
backup_dir=/home/mysqlbak
#当前日期
time=` date +%Y%m%d `
#得到所有数据库名的sql
sql="show databases"
#得到所有数据库名
declare databases=`mysql -u${db_user} -p${db_passwd} -e "${sql}"`
#循环数据库名列表,执行备份
for db_name in $databases
do
if [ $db_name != "Database" ] && [ $db_name != "information_schema" ] && [ $db_name != "mysql" ] && [ $db_name != "test" ]; then
echo " the item is $db_name"
/usr/bin/mysqldump -u$db_user -p$db_passwd -R -E -B $db_name > "$backup_dir/$db_name"_"$time.sql"
fi
done
#删除备份目录下早于七天前的文件
find $backup_dir -name '*.sql' -type f -mtime +7 -exec rm {} \;
#压缩文件
cd $backup_dir
zip -m db_$time.zip *_$time.sql
#上传文件
ftp -d -n <
open "$ftp_url"
user "$ftp_user" "$ftp_passwd"
passive
binary
cd $ftp_dir
lcd $backup_dir
prompt
put db_$time.zip
close
bye
!
#====================end shell 脚本======================
passive:开关被动模式,,这里上传需要用主动模式,加上控制开关被动模式 看情况加不加 如果上传使用被动模式 则Entering Passive Mode报错
binary:二进制传输
cd: 服务端cd lcd:客户端cd put上传单个 mput上传多个 get下载单个 mget下载多个prompt多个提示
#========================start shell 脚本============================#!/bin/bash
#定义备份数据库时使用的用户名和密码db_user="root"db_passwd="111111"
#定义FTP服务器地址、用户名、密码、目录ftp_url=113.108.8.80ftp_user=ftpuserftp_passwd=111111ftp_dir=/mysql_backup/113.108.8.82
#数据库备份的路径backup_dir=/home/mysqlbak
#当前日期time=` date +%Y%m%d `
#得到所有数据库名的sqlsql="show databases"
#得到所有数据库名declare databases=`mysql -u${db_user} -p${db_passwd} -e "${sql}"`
#循环数据库名列表,执行备份for db_name in $databasesdoif [ $db_name != "Database" ] && [ $db_name != "information_schema" ] && [ $db_name != "mysql" ] && [ $db_name != "test" ]; thenecho " the item is $db_name" /usr/bin/mysqldump -u$db_user -p$db_passwd -R -E -B $db_name > "$backup_dir/$db_name"_"$time.sql"fidone
#删除备份目录下早于七天前的文件find $backup_dir -name '*.sql' -type f -mtime +7 -exec rm {} \;
#压缩文件cd $backup_dirzip -m db_$time.zip *_$time.sql
#上传文件ftp -d -n <
#====================end shell 脚本======================
安装crontab:
yum install crontabs
crontab -e 打开执行计划
0 10 * * * /home/baksh/bakupmysql.sh 每天10点执行这个脚本
minute hour day month week command
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
service crond reload
服务操作说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
linux 备份mysql并上传_linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)...相关推荐
- 电脑服务器上复制文件,远程服务器文件复制到本地电脑上
远程服务器文件复制到本地电脑上 内容精选 换一换 R-Studio这个软件是Windows电脑和Windows服务器上都能运行的.可以恢复Windows文件系统和Linux文件系统的绝好软件,我试过了 ...
- Linux 定时执行shell 脚本
2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...
- python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解
最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...
- linux定时执行shell脚本
linux定时执行shell脚本 需求:每分钟检查下文件是否存在 解决思路: 1.编写shell脚本,检查文件是否存在,存在在文件中记录yes,不存在记录no 2.将脚本加入linux定时任务cron ...
- 树莓派自动备份mysql数据表_MySQL数据备份之mysqldump使用
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- linux的mysql本地yum安装_Linux下MySQL5.7.18 yum方式从卸载到安装过程图解
折腾了大半天,看了想,想了看,总算是弄清楚yum安装的过程了,之前写过二进制包安装的,这里用yum安装,环境都是一样的,Centos7.2+MySQL5.7.18. 每一步都参考了不少文章,后面会一一 ...
- linux安装mysql后怎么进去_linux安装mysql详细步骤
最近买了个腾讯云服务器,搭建环境. 该笔记用于系统上未装过mysql的干净系统第一次安装mysql.自己指定安装目录,指定数据文件目录. linux系统版本: CentOS 7.3 64位 安装源文件 ...
- linux 64 mysql下载官网_Linux下安装MySQL5.7
Oracle提供很多MySQL的发行版本,其中就包括压缩在tar文件(.tar.gz)内的通用二进制版本,下面介绍如何在Linux上安装这种版本的MySQL5.7,首先从官网下载MySQL,这里使用6 ...
- linux的mysql本地yum安装_Linux Centos 下使用yum 命令安装mysql实现步骤
Linux Centos 下使用yum 命令安装mysql实现步骤 1. 查看服务器中有没有安装过Mysql 1. 查看有没有安装包: yum list mysql* #移除已经安装的mysql yu ...
最新文章
- 操作系统性能优化分析及工具
- 40 个 SpringBoot 常用的注解,你知道几个?
- [Ext JS 4] 实战Chart 协调控制(单一的坐标,两个坐标)
- 如何做好网络推广中有关网站优化中内链搭建都有什么方法?
- 2016年第二季度全球以太网交换机销量破60亿美元
- android 之DatePicker以及TimePicker的用法
- helm部署Loki
- Web API 安全问题
- MOSS 2007基础:内容类型(Content Type)之二
- 2020牛客暑期多校训练营(第二场)Just Shuffle
- 微信程序短视频去水印源码 开源产品未加密未授权相关文章
- Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.
- web 开发之js---页面缓存, jsp 缓存, html 缓存, ajax缓存,解决方法
- react-redux学习笔记
- 绕障飞行器(D 题)--2020 年TI 杯大学生电子设计竞赛
- php adodb类库下载,PHP_PHP程序中使用adodb连接不同数据库的代码实例,adodb.inc.php文件需要去下载一个 - phpStudy...
- 用python判断素数合数_使用Python判断质数(素数)的简单
- Quantopian 大市值科技股市值加权回测
- 一个屌丝程序员的青春(一九一)
- Sovit3D数字孪生智慧海上风电场3D可视化管理平台
热门文章
- 箱线图和散点图叠加图形的绘制——R language
- 风控模型师面试准备--技术篇(逻辑回归、决策树、集成学习)
- Spring+SpringMVC+Mybatis项目—企业权限管理系统(2)
- 读书笔记007:《伤寒论》- 手少阴心经
- Lodop打印设计界面生成代码带”...(省略)”
- LUOGU P4016 负载平衡问题
- vc中关于 directx的配置,和dxsdk_extras(directshow)
- Modelsim仿真tcl脚本与wave.do文件
- 【计算机网络复习 数据链路层】3.3.1 差错控制(检错编码)
- Hadoop相关技术