ChatGPT几个有趣的玩法

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
ChatGPT几个有趣的玩法

ip a
ps -ef

ChatGPT几个有趣的玩法

2、以……的风格发文

ChatGPT几个有趣的玩法

ChatGPT几个有趣的玩法

3、自动写代码

create a bash shell program that scans for open ports on a hostname.

ChatGPT几个有趣的玩法

用脚本编写一个多进程ping主机的程序

ChatGPT几个有趣的玩法
上点难度,完了要失业了
在这里插入图片描述

3、用chatGPT学习loki

ChatGPT几个有趣的玩法

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 得到第一列

ChatGPT几个有趣的玩法
经过我的调教,这个脚本就能用了

#!/bin/bash

# 过滤这两个 ORA 报错,并将记录写入 ora.error 文件中
grep  -E -l  "ORA-02063|ORA-08176" /aplog/EDA_ETL/edc_log/*/info.log.* | while read line; do
  # 在记录中加上当前时间戳
  echo "$line,$(date +"%Y-%m-%d %T")" >> ora.error
done

# 从 MySQL 数据库中执行 SQL 语句,获取 JOB_NAME 和 ETL_TIMESTAMP
mysql -h 10.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 文件,并比较时间戳
while read line; do
  # 将 ora.error 中的第二列时间戳转换为时间戳
  orastr=`echo $line | cut -d "," -f 2`
  
  ora_timestamp=$(date -d "$(echo $line | cut -d "," -f 2)" +%s)

  # 获取 JOB_NAME
  jobstr=$(echo $line | cut -d "," -f 1 | awk -F "/" '{print $5}')
  echo "job_name: LoadEdcData_$jobstr";
  job_name=LoadEdcData_${jobstr}

  # 从 jobs.txt 中查找与 JOB_NAME 匹配的 ETL_TIMESTAMP

  etl_timestampstr=$(grep -E "$job_name\b" jobs.txt | cut -f 2)
  etl_timestamp=$(grep -E "$job_name\b" jobs.txt | cut -f 2)

  # 将 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 -s
  if [ $time_diff -gt 3600 ]; then
    #etl -k "$job_name"
    echo $job_name
    etl -c "$job_name"
  fi
done < ora.error

ChatGPT几个有趣的玩法
对于Oracle的这个bug就可以优雅重启了. 监控报警是5个小时的延迟,我的这个重启计划是1小时的延迟。所以该类问题应该不会再报警了。

生成一个自动建立软连接的脚本

看来chatGPT有过度理解的嫌疑
ChatGPT几个有趣的玩法

5、vscode 插件

这个插件的使用门槛很低,只需要把自己的API key丢进去就能用。前提是你有openAI的账户
创建API key
ChatGPT几个有趣的玩法
把api key贴进去即可。
到4月1 还有18刀的免费使用额度。
ChatGPT几个有趣的玩法

vscode中使用chatGPT优化Dockerfile,操作相当简单,直接选中代码右击选择即可。真的香
ChatGPT几个有趣的玩法

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年3月22日 下午11:22
下一篇 2023年3月22日 下午11:25

相关推荐