定时任务 bash 对远程数据库 备份 读写
1g表
每行都有可能被更新,故全表备份
检测备份是否在进行
[root@hadoop1 ~]# netstat --numeric-ports | grep 3306
tcp 0 0 hadoop1:37692 121.110.203.226:3306 ESTABLISHED
您在 /var/spool/mail/root 中有新邮件
[root@hadoop1 ~]#
nload
查当前网速,分析备份时间
2m/s
全表备份不可取
取更新时间戳备份,之后结合主键和更新时间戳还原数据
比较适合上传数据/写的操作,比如删除
[root@hadoop1 bash_app]# ll -as
总用量 68
4 drwxr-xr-x 2 root root 4096 12月 22 16:50 .
4 drwxr-xr-x 5 root root 4096 12月 19 10:23 ..
48 -rw-r--r-- 1 root root 46292 12月 22 16:49 ordertest_error_temp.20171222_164940.bak
0 -rw-r--r-- 1 root root 0 12月 22 16:28 ordertest_error_temp.bak
4 -rwxr-xr-x 1 root root 257 12月 22 16:49 ordertest_error_temp.bak.sh
4 -rw-r--r-- 1 root root 332 12月 19 10:44 db_sh_output
4 -rwxr-xr-x 1 root root 298 12月 19 10:44 mysql.domo.sh
[root@hadoop1 bash_app]# cat ordertest_error_temp.bak.sh
HOST=rm-w2o.mysql.rds.alcs.com
PORT=3306
USER=to17
PASS=t653o
DB=tres_ad
QUERY=`mysql -h$HOST -P$PORT -u$USER -p$PASS $DB << EOF
SELECT * FROM ordertest_error_temp ORDER BY update_time DESC LIMIT 12 ;
exit
EOF`
echo $QUERY
[root@hadoop1 bash_app]# ./ordertest_error_temp.bak.sh > ordertest_error_temp.$(date +"%Y%m%d_%H%M%S").bak
[root@hadoop1 bash_app]# ll -as
总用量 116
4 drwxr-xr-x 2 root root 4096 12月 22 16:50 .
4 drwxr-xr-x 5 root root 4096 12月 19 10:23 ..
48 -rw-r--r-- 1 root root 46292 12月 22 16:49 ordertest_error_temp.20171222_164940.bak
48 -rw-r--r-- 1 root root 46264 12月 22 16:51 ordertest_error_temp.20171222_165053.bak
0 -rw-r--r-- 1 root root 0 12月 22 16:28 ordertest_error_temp.bak
4 -rwxr-xr-x 1 root root 257 12月 22 16:49 ordertest_error_temp.bak.sh
4 -rw-r--r-- 1 root root 332 12月 19 10:44 db_sh_output
4 -rwxr-xr-x 1 root root 298 12月 19 10:44 mysql.domo.sh
[root@hadoop1 bash_app]# head ordertest_error_temp.20171222_164940.bak
错误信息
[root@hadoop1 bash_app]# ./ordertest_error_temp.del.sh
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHEREdd ok_times>=1' at line 1
[root@hadoop1 bash_app]#
[root@hadoop1 bash_app]# echo ' start '$(date +"%Y%m%d_%H%M%S") >> ad_direct_error_temp.del.sh.log;./ad_direct_error_temp.del.sh; cat ad_direct_error_temp.del.sh >> ad_direct_error_temp.del.sh.log;echo ' end '$(date +"%Y%m%d_%H%M%S") >> ad_direct_error_temp.del.sh.log;
[root@hadoop1 bash_app]# echo ' start '$(date +"%Y%m%d_%H%M%S") >> ordertest_error_temp.del.sh.log;./ordertest_error_temp.del.sh; cat ordertest_error_temp.del.sh >> ordertest_error_temp.del.sh.log;echo ' end '$(date +"%Y%m%d_%H%M%S") >> ordertest_error_temp.del.sh.log;
再写入定时任务
#危险动作
*/ * * * * cd /home/data/xl_project/bash_app;echo ' start '$(date +"%Y%m%d_%H%M%S") >> ordertest_error_temp.del.sh.log;./ordertest_error_temp.del.sh; cat ordertest_error_temp.del.sh >> ordertest_error_temp.del.sh.log;echo ' end '$(date +"%Y%m%d_%H%M%S") >> ordertest_error_temp.del.sh.log;
上述任务没有执行,路径:待执行文件路径和执行待执行文件的路径;
2个路径,解决问题。
实现了目的,进一步优化:将日志逻辑放入.sh中;
定时任务 bash 对远程数据库 备份 读写的更多相关文章
- 关于SQL Server 2005 的自动远程数据库备份
原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需 ...
- (原创)关于SQL Server 2005 的自动远程数据库备份
由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需求的朋友有所帮助.目标服务器:192.168.1.197,备份服务器:1 ...
- 远程数据库备份到本地出现“Access denied for user 'root'@localhost(using password: YES)”的问题
由于另外一个人在用远程的server做测试,导致我访问这个远程机器的mysql提示“too many connections”的问题,于是想到干脆把数据库当下来做测试好了,结果用heidiSQLs进行 ...
- SQL Server远程数据库操作(备份、还原等)
· SQL Server远程数据库备份到本地: exp sauser/sapassword@192.168.8.233:1433/DBName file=d:/backup.dmp OWNER=sum ...
- shell 读写远程数据库
http://www.cnblogs.com/wangkangluo1/archive/2012/04/27/2472898.html 利用Shell脚本实现远程MySQL自动查询 目的:对定时任务对 ...
- 定时任务--mysql数据库备份
vim /home/back.sh #!/bin/bash USER="******" PASSWORD="******" DATABASE="*** ...
- Sqlserver2005手动备份远程数据库到本地数据库方法
1,在本地数据库中新建一个数据库名,如local 选中local,鼠标右键,任务,导入数据 2下一步: 注意:服务器名称写远程连接的主机的IP, 数据库选中你要备份的远程数据库. 3下一步: 注意:服 ...
- mysql window系统备份远程数据库到本地
使用方法:创建test.bat文件,保存以下内容,修改配置后双击打开 @echo off REM 声明采用UTF-8编码 chcp echo. echo MySQL数据库备份脚本 echo. echo ...
- mysql 数据库备份 -- (定时任务)
场景: 我们经常需要对数据库备份 方式一:mysql 数据备份方式 在linux 备份方式 通常采用 mysqldump -uroot -ppassword --database 数据库名 > ...
随机推荐
- Python能干啥?
Python之py9 Python之py9-录音自动下载 Python之py9-py9作业检查 Python之py9-py9博客情况获取 Python之py9-微信监控获取mp3_url Python ...
- POJ 1905 Expanding Rods (求直杆弯曲拱起的高度)(二分法,相交弦定理)
Description When a thin rod of length L is heated n degrees, it expands to a new length L' = (1+n*C) ...
- python的cache修饰器
简单的memory cache.可以用来内存缓存任意函数方法. #!/usr/bin/python import functools from threading import RLock impor ...
- Robot Framework中的未解之谜
今天在写测试用例的时候偶然发现了一个问题: 一.看脚本逻辑上没有问题,但是在引用变量的时候不能成功引用,脚本截图如下: 这个是关键字A的截图,没有参数. 此时在case中引用${phonesign}和 ...
- Can you answer these queries(spoj 1043)
题意:多次查询区间最长连续字段和 /* 用线段树维护区间最长子段和,最长左子段和,最长右子段和. */ #include<cstdio> #include<iostream> ...
- 导师高茂源:用CODEX创新方法破解西方创新“秘密”(转)
高茂源,“CODEX创新体系”的创立者,精一学社的创业导师.“CODEX”是Copy.Optimize.Dimension.Ecosystem.Extra五个单词的缩写,该体系精炼了现在世界上流行的创 ...
- python学习之-- redis模块管道/订阅发布
redis 模块操作剩余其他常用操作 delete(*names):删除任意的数据类型exists(name):检测redis的name是否存在keys(pattern='*'):根据模型获取redi ...
- java构造方法的特点和理解--三只坚果
构造方法的特点:1.首先构造方法是基于类,名字必须与类的名字完全相同(构造方法一般是自己编写的类需要初始化)2.每个类都有一个默认的构造方法,既无参数又无返回值,其作用是使用new操作符创建新对象后初 ...
- linux命名详解及其软件安装实例
始于cd,ls命令 好啦,步入正题,我使用的linux连接工具为xshell,mRemoteNG,对两款工具不做介绍啦,你可以百度一下,实在不会入左上方群. 进入之后,便是上面的界面黑乎乎一片,对于初 ...
- centos mysql错误信息处理
mysql_secure_installation 提示错误:Enter current password for root (enter for none):ERROR 1045 (28000): ...