当前位置:   article > 正文

ChatGPT几个有趣的玩法_chatgpt玩法

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.
  • 1
  • 2
  • 3
  • 4
  • 5

执行ll -ths
在这里插入图片描述

ip a
ps -ef
  • 1
  • 2

在这里插入图片描述

2、以……的风格发文

在这里插入图片描述

在这里插入图片描述

3、自动写代码

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

在这里插入图片描述

用脚本编写一个多进程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 得到第一列

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述
经过我的调教,这个脚本就能用了

#!/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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

在这里插入图片描述
对于Oracle的这个bug就可以优雅重启了. 监控报警是5个小时的延迟,我的这个重启计划是1小时的延迟。所以该类问题应该不会再报警了。

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

看来chatGPT有过度理解的嫌疑
在这里插入图片描述

5、vscode 插件

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

vscode中使用chatGPT优化Dockerfile,操作相当简单,直接选中代码右击选择即可。真的香
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/98866
推荐阅读
相关标签
  

闽ICP备14008679号