1、将.dat文件中,取其中的1、4、5、6列,并按时间排序,同时转为时间格式
awk -F ',' '{print $1,$4,$5,$6}' xxx.dat >>test.txt
sort -k1 -r >>test1.txt
awk -f ' ' '{print strftime("%Y-%m-%d %H:%M:%S",$1),$2,$3,$4,$5}' test1.txt >> test2.txt
2、通过sqlldr方式将文件数据按一定格式入库
3、修改文件的间隔符,空格转逗号
sed -i 's/\t/,/g' test.txt
4、将固定内容hello,world插入到文件头,或者尾部,并重定向到一个文件
头部:awk '{print "hello,world"$0}' test.txt > test1.txt
尾部:awk '{print $0"hello,world"}' test.txt > test1.txt
5、每四小时上传客户所需数据到指定的ftp服务器目录
(1)运用python将客户所需的数据,生成excel
(2)编写定时任务,每隔四小时的第一分钟执行shell脚本
1 */4 * * * sh /HB/putftp.sh >> /HB/putftp.log
(3)编写上传ftp的shell脚本
###加载环境变量
source /etc/profile
PATH=""
###删除上一次执行py生成的表格,crontab默认把生成的文件放/root下
rm -rf /root/*.xlsx
###休眠再生成excel
sleep 5
###执行py前加载oracle环境变量还有编码格式,因为crontab默认加载的是/bin下的环境变量
ORACLE_HOME=
export ORACLE_HOME
###执行python3,全路径执行生成表格
/usr/local/python3/bin/python3 /HB/YQxls_caoke.py
###上传到指定ftp
ftp -n <<- EOF
open X.X.X.X port
user name,password
cd /yq_gk
###切换到本机目录
lcd /root
put *.xlsx
close
bye
EOF
6、EOF
EOF通常与<<结合使用,表示后续的输入作为子命令成了shell的输入,直到遇到EOF为止。
part_name=$(sqlplus -s user/passwd <<EOF
set heading off --为了取消别名,只显示数据
select 语句
exit;
EOF)
7、HDP
HDP集群部署好ES集群实例后,metrics collector会提示需重启,如果重启,则会报错connection refused,图标无法获取。上述问题,可以通过移动metrics collector解决
8、zabiix_get
zabbix的Server端可通过zabbix_get方法获取监控项的键值来调试监控项的值
/usr/local/zabbix/bin/zabbix_get -s IP -k 监控项
9、shell除法的使用
awk '/DG01/{print $8}' ----------输出包含DG01的行的第八个列
通过管道使用bc来计算
number=$(su - gric -c "asmcmd lsdg"|awk '/DG01/{print $8}')
dg_value=$(echo $number \/1024 |bc)
echo $dg_value
10、sql结果监控的脚本
source /etc/profile
sorce /home/oracle/.bash_profile
rtwtime=$(sqlplus -s qygk/qygk@gdbd <<EOF|grep -v ^$
set heading off
select * from (select t1.recordtime from table_name order by t1.recordtime desc) where ruwnum <2;
exit;
EOF)
currentTime=$(date +%s)///转时间戳
time_difference=$((currentTime-rtwtime))
echo $time_difference
11、vim
s/被替换字符/替换字符/g:修改当前光标行
%s/被替换字符/替换字符:保证每行的第一个
%s/被替换字符/替换字符/g:修改每行的所有
paste模式:避免黏贴时,带入不必要的缩进
:set paste
:set nopaste
12、管道与xargs
ifconfig|less
统计:ls / |wc -l :根下有多少行
cat /etc/passwd |wc -l:passwd文件有多少行
xargs命令扩展,为什么需要xargs命令?
之所以用到这个命令,关键由于很多命令不支持|管道来传递参数,而日常常需要
案例:搜索/etc目录下所有".conf"结尾的文件,然后以详细列表信息显示
find /etc -name "*.conf" |xargs ls -l
13、打包并压缩:
tar : -cf——对文件进行打包
-z——使用gzip压缩工具压缩为.gz
tar -cfz 名称.tar.gz 目标文件
解压:tar -zvxf 名称.tar.gz