shell脚本定时操作数据库
一.数据库脚本(mysql.sh)
- Linux环境下,定时将数据库A的表格复制到数据库B中
#!/bin/bash
mysql_host="127.0.0.1"
mysql_user="root"
mysql_passwd="123456"
dbold="nagios"
dbnew="nagios_summary"
#dbnew="test"
tablename="nagios_servicestatus"
#sql备份目录
root_dir="/home"
back_dir="/home/databases"
if [ ! -d $back_dir ]; then
mkdir -p $back_dir
fi
#Now=$(date +”%d-%m-%Y--%H:%M:%S”)
#Now=$(date+%Y%m%d_%H:%M:%S)
Now=$(date +%Y-%m-%d--%H:%M:%S)
newtablename=$tablename-$Now".sql"
newname=$tablename$(date +%Y%m%d_%H_%M_%S)
cd $back_dir
mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host $dbold $tablename>$newtablename
#mysql -h$mysql_host -u$mysql_user -p$mysql_passwd $dbnew< $back_dir/$newtablenamei
create_sql=" source ${back_dir}/${newtablename}"
create_table="rename table ${tablename} to ${newname}"
mysql -h$mysql_host -u$mysql_user -p$mysql_passwd $dbnew -e "${create_sql}"
mysql -h$mysql_host -u$mysql_user -p$mysql_passwd $dbnew -e "${create_table}"
if [ $? = 0 ]; then
rm -r ${back_dir}/${newtablename}
fi
二.脚本的定时执行
- 安装crontab
yum install vixie-cron
yum install crontabs
service crond start //启动服务
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
加入开机自动启动:
chkconfig --level 35 crond on
- 每隔1小时执行脚本
crontab -e
01 */1 * * * /home/mysql.sh
三.导出某些数据表系统命令行mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql7 导入
导出某些数据表
- 系统命令行
mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql
导入某些数据表
- 系统命令行
mysql -uusername -ppassword db1 < tb1tb2.sql
或mysql命令行
mysql>
user db1;
source tb1tb2.sql;
- 数据库信息
#!/bin/bash
HOSTNAME="127.0.0.1" #数据库Server信息
PORT="3306"
USERNAME="root"
PASSWORD="123456"
DBNAME1="nagios"
DBNAME2="nagios"
TABLENAME="test_table_name" #要创建的数据库的表的名称
shell脚本定时操作数据库的更多相关文章
- shell脚本定时备份数据库
脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" ...
- 使用shell脚本定时执行备份mysql数据库
使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- C# 创建Windows服务。服务功能:定时操作数据库 (转)
C# 创建Windows服务.服务功能:定时操作数据库 一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在S ...
- Shell脚本备份Mongodb数据库
目录 环境还原 环境创建 编写shell脚本 准备文件 创建shell脚本 执行shell脚本 进阶版 感谢 诚邀访问我的个人博客:我在马路边 更好的阅读体验点击查看原文:Shell脚本备份Mongo ...
- 利用shell脚本自动化备份数据库与手动备份还原数据库操作
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定 ...
- centos使用shell脚本定时备份docker中的mysql数据库
shell脚本 #!/bin/bash #容器ID container_id="6b1faea2b4d7" #登录用户名 mysql_user="root" # ...
- 让你提前知道软件开发(22):shell脚本文件操作
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了 ...
- 在CentOS6.9上Shell脚本定时释放内存cache
一.写Shell脚本 mkdir -p /var/script/ vim /var/script/freemem.sh 写入以下Shell脚本: #!/bin/bash # 当前已使用的内存大小 us ...
随机推荐
- Yii 发送电子邮件
yii 收发邮件 ------------------------------------------------------------------------------------------- ...
- ios8消息快捷处理——暂无输入框
if (isiOS8) { //ios8的远程推送注册 NSSet *set = nil; #if 1 //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotific ...
- 衔接UI线程和管理后台工作线程的类(多线程、异步调用)
一个不错的UI多线程操作类 http://www.cnblogs.com/net66/archive/2005/08/03/206132.html
- js 节流函数 throttle
/* * 频率控制 返回函数连续调用时,fn 执行频率限定为每多少时间执行一次 * @param fn {function} 需要调用的函数 * @param delay {number} 延迟时间, ...
- C#中修改Dll文件 (反编译后重新编译)
Dll文件生成后,如没有源代码,又要修改其中内容 可以用微软自带的ildasm和ilasm程序 先用ildasm将dll文件反编译成il文件 ildasm Test.dll /out=Test.il ...
- Android 上的代码阅读器 CoderBrowserHD 修改支持 go 语言代码
我在Android上的代码阅读器用的是 https://github.com/zerob13/CoderBrowserHD 改造的版本,改造后的版本我放在 https://github.com/ghj ...
- [SQL]把同一字段里的多行数据用一行显示
declare @t table(id int,num int) insert @t , union all , union all , --select * from @t ----查询 decla ...
- 【Oracle经典】132个oracle热门精品资料——下载目录
电子书为网友wglzaj精心整理,这批资料下载量好评率都非常高,广受oracle学习者欢迎.文档共整理了12个精品专题和120个热门资料的下载地址,推荐给大家希望大家喜欢. 目录0豆下载地址:http ...
- 安装和卸载windows程序
安装windows service通常有两种工具 1.Framework目录下的installutil.exe工具.2.visual studio命令行工具 在这里我要说的是当我们使用的系统是64位的 ...
- sql 获取filename
select Substring(ORIGINAL_IMAGE,len(ORIGINAL_IMAGE)-charindex('/',reverse(ORIGINAL_IMAGE))+2,len(ORI ...