文章目录
1、开启一个VM
在caht中输入一下内容
I want you to act as a Linux terminal. I will type commands and you will reply with what the
terminal should show. I want you to only reply with the terminal output inside one unique
code block, and nothing else. Do no write explanations. Do not type commands unless I
instruct you to do so. When I need to tell you something in English I will do so by putting
text inside curly brackets {like this}. My first command is pwd.
执行ll -ths
ip a
ps-ef
2、以……的风格发文
3、自动写代码
create a bash shell program that scans foropen ports on a hostname.
用脚本编写一个多进程ping主机的程序
上点难度,完了要失业了
3、用chatGPT学习loki
4、客制化脚本
我的需求
编写一个shell脚本
1、grep过滤这两个ORA报错'ORA-02063|ORA-08176' 将记录写入ora.error文件并在其中加上当前时间戳表明记录生成的时间,例如LoadEdcData_ARRAY,2022-12-27 12:12:12
2、从10.50.10.180 mysql的ch_qms数据库中执行以下sql获取JOB_NAME和ETL_TIMESTAMP,例如LoadEdcData_OC,2022-12-27 14:00:00
SELECT JOB_NAME,ETL_TIMESTAMP
FROM etl_conf_d
WHERE
1=1
AND JOB_NAME LIKE '%EDC%'
AND JOB_GROUP_NAME ='EDC_ETL_HIS'
AND VALID_FLG ='y'3、将ora.error的第二列时间戳和第二步的ETL_TIMESTAMP时间做比较,如果超过1小时,执行etl -k job,然后再执行etl -s job,其中job取ora.error 得到第一列
经过我的调教,这个脚本就能用了
#!/bin/bash# 过滤这两个 ORA 报错,并将记录写入 ora.error 文件中grep-E-l"ORA-02063|ORA-08176" /aplog/EDA_ETL/edc_log/*/info.log.* |whileread line;do# 在记录中加上当前时间戳echo"$line,$(date +"%Y-%m-%d %T")">> ora.error
done# 从 MySQL 数据库中执行 SQL 语句,获取 JOB_NAME 和 ETL_TIMESTAMP
mysql -h10.50.10.180 -uroot-pchot123-D ch_qms -e"SELECT JOB_NAME,ETL_TIMESTAMP FROM etl_conf_d WHERE 1=1 AND JOB_NAME LIKE '%EDC%' AND JOB_GROUP_NAME = 'EDC_ETL_HIS' AND VALID_FLG = 'y'"> jobs.txt
# 遍历 ora.error 文件,并比较时间戳whileread line;do# 将 ora.error 中的第二列时间戳转换为时间戳orastr=`echo $line |cut-d","-f2`ora_timestamp=$(date-d"$(echo $line |cut-d","-f2)" +%s)# 获取 JOB_NAMEjobstr=$(echo $line |cut-d","-f1|awk-F"/"'{print $5}')echo"job_name: LoadEdcData_$jobstr";job_name=LoadEdcData_${jobstr}# 从 jobs.txt 中查找与 JOB_NAME 匹配的 ETL_TIMESTAMPetl_timestampstr=$(grep-E"$job_name\b" jobs.txt |cut-f2)etl_timestamp=$(grep-E"$job_name\b" jobs.txt |cut-f2)# 将 ETL_TIMESTAMP 转换为时间戳etl_timestamp=$(date-d"$etl_timestamp" +%s)echo"ora_timestamp: ${orastr, ora_timestamp-unix: ${ora_timestamp}}"echo"mysql etl_timestamp: $etl_timestampstr, etl_timestamp-unix:${etl_timestamp}"# 计算时间差(以秒为单位)time_diff=$((ora_timestamp-etl_timestamp))echo"time_diff: ${time_diff}"# 如果时间差超过 1 小时(3600 秒),执行 etl -k 和 etl -sif[$time_diff-gt3600];then#etl -k "$job_name"echo$job_name
etl -c"$job_name"fidone< ora.error
对于Oracle的这个bug就可以优雅重启了. 监控报警是5个小时的延迟,我的这个重启计划是1小时的延迟。所以该类问题应该不会再报警了。
生成一个自动建立软连接的脚本
看来chatGPT有过度理解的嫌疑
5、vscode 插件
这个插件的使用门槛很低,只需要把自己的API key丢进去就能用。前提是你有openAI的账户
创建API key
把api key贴进去即可。
到4月1 还有18刀的免费使用额度。
vscode中使用chatGPT优化Dockerfile,操作相当简单,直接选中代码右击选择即可。真的香
版权归原作者 MyySophia 所有, 如有侵权,请联系我们删除。