linuxshell数据库
① linux 下如何使用shell 把处理好的csv文件导入到数据库下
linux 下,可以使用cli程序把csv文件导入到数据库。具体代码如下:
sql">
$ORACLE_HOME/bin/sqlplus-Susername/password@instanceName>/dev/null2>&1<<!!
#对sqlplus作一些设置,使之只输出我们需要的文本
setechooff
setpagesize0
setverifyoff
setfeedbackoff
settermoutoff
setlinesize3000
settrimspoolon
#查询输出到临时文件
spool/tmp/some_tmp.csv
#select语句
selectcolumn1||','||column2||','||column3....
fromsome_tablewherecondition
spooloff
#这里可以添加多个查询,且每个查询可输出到不同的文件,如下面注释
#spool/tmp/some_tmp.csv
#selectcolumn1||','||column2||','||column3....
#fromsome_tablewherecondition
#spooloff
setmarkupHTMLoff
quit
!!
#计算记录总行数,如果是0则不发邮件
NUM=`cat/tmp/some_tmp.csv|wc-l`
if[$NUM-gt0]
then
#先写excel的每列的title
echo'Title_Of_Column1,Title_Of_Column2,....Title_Of_ColumnN'>/tmp/attachement.csv
#数据正文
cat/tmp/some_tmp.csv>>/tmp/attachement.csv
#发邮件
(
echo"From:[email protected]"
echo"To:[email protected]"
echo"MIME-Version:1.0"
echo"Content-Type:multipart/mixed;"
echo'boundary="A_Boundary_Name_You_Can_Change_It"'
echo"Subject:Subject"
echo""
echo""
#附件分隔符,上面的boundary前面加--
echo"--A_Boundary_Name_You_Can_Change_It"
echo'Content-Transfer-Encoding:x-uuencode'
echo'Content-Type:text/csv;'
echo'name="attachement.csv"'
echo'Content-Disposition:attachment;'
echo'filename="attachement.csv"'
echo""
uuencode/tmp/attachement.csvattachement.csv
echo"--A_Boundary_Name_You_Can_Change_It"
#附件结束
)|mailx-t
fi
#删除临时文件
rm-f/tmp/*.csv
exit0
② LINUX的SHELL脚本中中执行数据库语句
TEST="db2updateTBL_DRP_DEPLOYsetSITE='BEIJING'whereREC_ID=1731andFUNC_ID='C0301016'"
$TEST
③ 如何在Linux的shell中先删除数据库再创建数
打开linux shell,从shell 进入数据库的控制管理界面
利用创建数据库的指令(SQL语句)进行创建数据库
举个例子,如Mysql,在linux下
1.在shell中输入:mysql -uroot -p
2.输入密码进入数据库
3.输入 create database test;回车,即创建一个名称为test的数据库;
4,输入 show databases;可以看到你创建的数据库 test。
④ Linux 怎么shell脚本定时备份mysql数据库
每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据;
需求:
1,每天4点备份mysql数据;
2,为节省空间,删除超过3个月的所有备份数据;
3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;
#创建shell文件
vim backup_mysql.sh
mysqlmp -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} \;
#创建定时任务
crontab –e
0 4 * * * /data/dbdata/backup_mysql.sh
⑤ linux shell脚本执行mysql mysql数据库在远程服务器上
方法一、适合所有格式的mysql数据库,通过对数据库导出导进写个脚本定时执行:
1.导出整个数据库 mysqlmp -u 用户名 -p 数据库名 > 导出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc > /存放路径/wcnc.sql
2.导出一个表 mysqlmp -u 用户名 -p 数据库名 表名> 导出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc users> /存放路径/wcnc_users.sql
3.导出一个数据库结构 mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/存放路径/wcnc_db.sql
定义:
-d 没有数据
--add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库 常用source 命令 进入mysql数据库控制台:
如mysql -u root -p mysql>use 数据库
方法二、针对mysql数据表格式为MyISAM的
假如数据文件在/var/lib/mysql
那么直接写个脚本
cp -r /var/lib/mysql /备份到的文件夹路径
隔机备份用rsync增量,或定时完整备份。
⑥ linux中在shell中怎么创建一个数据库
打开linux shell,从shell 进入数据库的控制管理界面
利用创建数据库的指令(SQL语句)进行创建数据库
举个例子,如Mysql,在linux下
1.在shell中输入:mysql -uroot -p
2.输入密码进入数据库
3.输入 create database test;回车,即创建一个名称为test的数据库;
4,输入 show databases;可以看到你创建的数据库 test。
⑦ LINUX下shell脚本如何执行 sql脚本 到DB2数据库
1、在gedit中编写.sh格式的文件,保存为a.sh。
⑧ linux shell 脚本 解析固定格式的文件导入数据库
#!/bin/sh
username="yourusername"
password="yourpassword"
dbname="yourdbname"
tablename="yourtablename"
cat word.txt | while read line
do
{
field1=`echo $line | tr -d '['| tr -d ']'| cut -d' ' -f1-2}`
field2=`echo $line | tr -d '['| tr -d ']'| cut -d' ' -f3}`
field3=`echo $line | tr -d '['| tr -d ']'| cut -d' ' -f4}`
###################################################数据库输入
temp=`echo "describe $tablename" | mysql -u $username -p$password "$dbname" | sed '1d' | awk '{print $1}'`
head="INSERT INTO $tablename VALUES ("
tail=");"
tt=`
for loop in $temp
do
eval echo "\'"\\$$loop"\',"
done
`
value=`echo "$head$tt$tail"`
sql=`echo "$value" | sed 's/,)/)/g'`
echo "$sql" | mysql -u $username -p$password "$dbname"
}
done
####数据库自己建立,库名,表名,用户名,密码在开头自己定义,
###你数据库字段名分别为field1 field2 field3
⑨ 怎样在linux的shell脚本中连接mongodb插入
1、想在shell中连接数据库,首先要在连接数据的机器上安装mongodb的客户端才可以。客户端的安装在这里不再重复,自己网络一下有教程的。 连接mongodb的命令如下: /home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888 这个是数据库配置,没有设置用户名密码,所以直接通过该命令就可以连接。 连接后会有一个默认连接的数据库。 2、mongodb常用命令: 查看数据库命令: show dbs; 查看集合命令: show collections; 切换数据库: use databaseName; 查询数据: db.集合名.find() 插入数据: db.集合名.insert({name:'test',age:1}); 删除: db.test.remove(); 3、如果想通过shell脚本实现一个日志分析并入库的操作,命令如下: sql="db.test.insert({name:'test',age:1});"//定义执行的sqlecho "$sql"/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888/test --shell 注意,echo命令中的格式必须这样写,管线命令后面的是是数据库安装地址 然后是ip:端口号,斜线后是数据库名称,--shell表示通过shell交互