操作系统
监控删除docker日志
穆琪 发表于2023-04-28 浏览104 评论0
1.背景
docker容器在启动一段时间后应用服务会产生日志,当没有映射出来的时候,这些日志就会持续占用var下的目录空间,此时就需要清理这些日志。
2.脚本
echo "======== start clean docker containers logs ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "======== end clean docker containers logs ========"
数据库
批量停止pg的锁表语句脚本
穆琪 发表于2023-04-26 浏览105 评论0
1.背景
线上服务器每月都会创建下一个月的数据表的分区表,但是表在使用的时候创建分区容易造成锁表,所有自动化实现kill掉数据库中锁表的语句。
2.脚本内容
pid=`echo "SELECT * FROM pg_stat_activity where wait_event_type = 'Lock';" | docker exec -i postgres psql -p 5432 -U postgres --db 'test' | awk '{if (NR>2){print $5}}' | awk 'NR>1{print line}{line=$0}' | awk 'NR>1{print line}{line=$0}'` echo 'Lock sql pid is '$pid for i in $pid do echo "SELECT pg_terminate_backend("$i");" | docker exec -i postgres psql -p 5432 -U postgres --db 'test' done
操作系统
ES迁移——使用reindex
穆琪 发表于2023-04-24 浏览113 评论0
1.背景
因为设备资源的不足,需要将旧业务平台迁移到性能更好的服务器上。相应的ES数据作为业务详情的来源也必须一起迁移。
2.环境
pycharm教程
Pycharm配置使用cmder终端
穆琪 发表于2023-03-14 浏览137 评论0
确认自己已经安装好cmder,网站:Cmder | Console Emulator
.配置pycharm
打开pycharm设置,settings>tool>terminal中修改shell path。
杂项
Protobuf 教程
穆琪 发表于2022-06-21 浏览245 评论0
操作系统
docker中/var/lib/docker目录迁移
穆琪 发表于2022-06-17 浏览225 评论0
操作系统
sed 在替换含有反斜杠的字符报错的问题解决
穆琪 发表于2021-01-07 浏览1174 评论0
当我在使用sed替换一个配置文件的变量为一个目录的绝对路径时出了问题:sed: 1: "s/{env_sabre_dir}//User ...": bad flag in substitute command: 'U'而我执行的语句是这个:sed -i.bak 's/{env_sabre_dir}/'$pwd_dir'/g
pycharm教程
pycharm创建可以自动插入的代码片段
穆琪 发表于2020-10-16 浏览702 评论0
在使用pycharm的时候,有时可能会写if ... else ...或者 try ... except ...这种固定的代码,所以可以在pycharm配置一下,让它可以自动展开插入。步骤:preferences→ editor → live templates然后选中python那一项:点击最右边的 + 号,选择live template添加一个新的片段,以try为例:接下来填上提示名和代码内容:填写完代码内容之后一定要选择下面的环境,点击勾选python就行(红框标起来的):点击O
数据库
PostGresql更改自增ID值
穆琪 发表于2020-10-15 浏览738 评论0
在开发过程中,经常会自己造一点数据在数据库。这个时候id就不是那么准了,在程序后面自动插入的时候就会出现id主键冲突。解决办法就是重新设置表主键id的最大值代码如下:select setval('exp_id_seq', (select max(id) from exp));exp代表表名。
python
PG查看正在执行的sql语句
穆琪 发表于2020-08-17 浏览669 评论0
在维护项目的过程中需要查看正在执行的sql语句代码如下:SELECT
procpid,
START,
now() - START AS lap,
current_query
FROM
(
&nb