shell获取db信息及上传下载操作
这个脚本是获取目标机器的db信息和os信息的。os信息很好获取,db的信息包含db名字,db版本以及所有的db instance,db信息的获取稍显复杂,下面是整个脚本代码:
关键字: awk, sed, grep, $, test -z, ftp, 以及重定向>,>>
#!/bin/sh
name=$(uname -s -n | awk '{{print $2}')
ip=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{{print $2}'|tr -d 'addr:' )
os=$(uname -s -n | awk '{{print $1}' )
dbinstpath=$(find /opt -name db2ilist|grep 'inst'|sed -n '1,1p')
#dbid=$($dbinstpath|sed -n '1,1p')
if test -z "$dbinstpath" //判断dbinstpath变量是否为空
then
comm="no db2ilist on target computer"
osdbinfo=$name","$ip","$os","null","null","null","$comm"\n"$osdbinfo
else
dbinst=$($dbinstpath)
if test -z "$dbinst"
then
echo "there is no any db instance on that server, so can not retrieve db info" > getDBinfo.log 2>&1
else
for i in $dbinst
do
cmp=$(su - $i|grep "Unable to change directory")
if test -z "$cmp"
then
dbver=$(su - $i -c db2level | grep 'DB2 v' | awk '{{print $5}'| tr -d '"|,' )
dbname=$(su - $i -c db2 list db directory | grep 'Database name' | awk '{{print $4}' )
comm="_"
else
comm="can not change to directory for db instance:"$i
dbver="null"
dbname="null"
fi
osdbinfo=$name","$ip","$os","$dbver","$dbname","$i","$comm"\n"$osdbinfo
done
fi
fi
csvtitle='0os_name, 0os_ip, 0os, 0db_version, 0db_name, 0db_inst'
echo $csvtitle"\n"$osdbinfo > db2info.csv 2>&1
//ftp下载
ftpsvr="9.84.194.234"
ftp -i -v -n <<eof
open $ftpsvr
user ken 123456
lcd /tmp
get "db2info.csv" "db2info.txt"
bye
eof
cd /tmp
chmod u+rwx db2info.txt //修改文件权限
echo $osdbinfo>>db2info.txt 2>&1
sort -u db2info.txt -o db2info.txt //排序
sed '/^$/d' db2info.txt>db2info_.txt //删除空白行
//ftp上传文件
ftp -i -v -n <<eos
open $ftpsvr
user ken 123456
put db2info_.txt db2info.csv
bye
eos
rm db2info_.txt
shell获取db信息及上传下载操作的更多相关文章
- Java实现对文件的上传下载操作
通过servlet,实现对文件的上传功能 1.首先创建一个上传UploadHandleServlet ,代码如下: package me.gacl.web.controller; import jav ...
- 安卓获取软硬件信息并上传给server(Socket实现)
首先,项目结构如图--A:分为client部分CheckInfo和server端CheckInfo_Server.CheckInfo获取手机信息(Mac,Cpu,内存,已安装软件信息等)并上传到ser ...
- NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计
新年第一更,关于如何搭建NuGet的本地服务器,以及部署IIS,以此搭建公司自己的组件仓库,方便所有的组件更新,管理,测试等等操作. 关于如何在NuGet中下载指定的组件,参考这篇文章:http:// ...
- 2019-03-28 git github SSH配置,上传下载操作
1.通过git获取scrapy源码,并安装到系统里面 https://git-scm.com/download/win 下载无脑安装啊(C:\Program Files\Git),进入git bash ...
- linux链接及文件互相上传下载
若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...
- Gin-Go学习笔记四:Gin-Web框架 文件的上传下载
文件的上传和下载 1->文件的上传 文件的上传,采用的是uploadify.js这个插件. 本事例实现的是上传图片文件,其他的文件上传也一样. 2->文件的下载 文件的下载有两个实现的方式 ...
- pycharm+gitee【代码上传下载】实战(windows详细版)
pycharm+gitee环境搭建好以后应该如何进行代码上传下载操作呢?举几个例子,此文会一直更新 环境:2019社区版pycharm+gitee+git 系统:windows系统 一.代码上传功能 ...
- python_登陆验证文件上传下载_socket
client.py import os import sys import json import struct import socket # 下载--接收文件 def download(sk): ...
- Shell获取Aix/linux/unix机器上db2和os的信息并上传到指定服务器
(之前写过一篇类似的文章,当时传输文件用的是ftp,因为项目觉得ftp不够安全所以这次换成了scp,同时对脚本的一些地方也做了一些调整) 其实做这个东西还是因为项目的需求,需要获取某些机器(目前主要是 ...
随机推荐
- ssh scp访问ipv6地址
从这里学来的.http://blog.mattandanne.org/2012/01/sftpscp-and-ipv6-link-local-addresses.html当采用ipv6的地址去连接另外 ...
- 基于Apache2配置Radius认证
基于Apache配置RADIUS有两个插件可用:mod_auth_radius和mod_auth_xradius,推荐使用mod_auth_xradius,mod_auth_radius不支持多个RA ...
- 【数学/扩展欧几里得/Lucas定理】BZOJ 1951 :[Sdoi 2010]古代猪文
Description “在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边 ...
- Windows2003/2008/2008 R2下易语言点支持库配置就退出的问题
问题: 请问一个问题,我的电脑上win2003系统的,安装了易语言后,一点支持库配置就会自动退出.这是为什么啊? 解决方法如下: 删除 lib下的wmp.npk,重新打开易语言就可以了.
- [转载]Unity3D 游戏引擎之使用C#语言建立本地数据库(SQLITE)
以前在开发中一直使用IOS源生的数据库,通过传递消息的形式在与Unity3D中进行交互.本文我在详细说说如何使用C#语言来在MAC 操作系统下创建Unity本地数据库,我是C#控哇咔咔--- 首先你需 ...
- 团体程序设计天梯赛-练习集L1-005. 考试座位号
L1-005. 考试座位号 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 每个PAT考生在参加考试时都会被分配两个座位号,一个 ...
- ArcGIS Runtime for Android开发教程V2.0(1)基本概念
原文地址: ArcGIS Runtime for Android开发教程V2.0(1)基本概念 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csd ...
- SDIBT2666——逆波兰表达式求值
逆波兰表达式求值(栈和队列) Description 从键盘上输入一个逆波兰表达式,用伪码写出其求值程序.规定:逆波兰表达式的长度不超过一行,以@符作为输入结束,操作数之间用空格分隔,操作符只可能有+ ...
- caffe简易上手指南(一)—— 运行cifar例子
简介 caffe是一个友好.易于上手的开源深度学习平台,主要用于图像的相关处理,可以支持CNN等多种深度学习网络. 基于caffe,开发者可以方便快速地开发简单的学习网络,用于分类.定位等任务,也可以 ...
- 使用Mysql命令一次性备份多个数据库(所有数据库)
通过CMD命令窗口 1.找到Mysql的安装目录\mysql\BIN目录 2. 输入mysqldump --all-databases -h127.0.0.1 -uroot -p123456 > ...