Skip to content

Instantly share code, notes, and snippets.

@k8scat
k8scat / install_openresty.sh
Last active March 12, 2024 04:48
Install OpenResty on Ubuntu from source code.
#!/bin/bash
set -e
rm -rf openresty-1.19.3.2 openresty-1.19.3.2.tar.gz
apt-get update -y
apt-get install -y libpcre3-dev \
libssl-dev \
perl \
make \
build-essential \
@k8scat
k8scat / port_forwarding.sh
Created September 1, 2023 03:32
ssh port_forwarding functions
# read in zsh is different from bash
# https://superuser.com/questions/555874/zsh-read-command-fails-within-bash-function-read1-p-no-coprocess
# in bash, read -p "prompt" var
# but in zsh, read "var?prompt"
function port_forwarding_local() {
echo "port forwarding to remote server"
read "local_host?local_host (default is empty): "
read "local_port?local_port: "
if [[ -z "${local_port}" ]]; then
@k8scat
k8scat / check_ssl.py
Created April 30, 2021 03:30
Check ssl expire time
# Maintainer: k8scat@gmail.com
import sys
import time
from datetime import datetime
import ssl
import socket
def get_ssl_info(domain, port=443):
@k8scat
k8scat / docker-delete-volume-force.sh
Created December 13, 2022 09:34
[Docker] Delete volume force
volume=""
err=$(docker volume rm $volume 2>&1)
echo "err: $err"
container_ids=$(echo $err | awk -F'[' '{print $2}' | awk -F']' '{print $1}')
echo "ids: $ids"
IFS=', '
for container_id in $container_ids; do
echo "delete container: $container_id"

Linux 命令行编辑快捷键

初学者在Linux命令窗口(终端)敲命令时,肯定觉得通过输入一串一串的字符的方式来控制计算是效率很低。 但是Linux命令解释器(Shell)是有很多快捷键的,熟练掌握可以极大的提高操作效率。 下面列出最常用的快捷键,这还不是完全版。

  • 命令行快捷键:
    • 常用:
      • Ctrl L :清屏
  • Ctrl M :等效于回车
@k8scat
k8scat / es-query.json
Last active November 30, 2022 09:55
TooManyClauses[maxClauseCount is set to 1024]
{
"fields": [
"uuid",
"owner_uuid",
"team_uuid",
"project_uuid",
"reference_id",
"reference_type",
"type",
"ext_id",
@k8scat
k8scat / Makefile
Created November 21, 2022 18:14 — forked from isaacs/Makefile
# Hello, and welcome to makefile basics.
#
# You will learn why `make` is so great, and why, despite its "weird" syntax,
# it is actually a highly expressive, efficient, and powerful way to build
# programs.
#
# Once you're done here, go to
# http://www.gnu.org/software/make/manual/make.html
# to learn SOOOO much more.
@k8scat
k8scat / ssh-connect-failed.txt
Created October 26, 2022 16:10
SSH connect failed
$ ssh -vvv xxx-dev
OpenSSH_9.0p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/k8scat/.ssh/config
debug1: /Users/k8scat/.ssh/config line 4: Applying options for *
debug1: /Users/k8scat/.ssh/config line 76: Applying options for xxx-dev
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug2: resolve_canonicalize: hostname 113.13.120.21 is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/k8scat/.ssh/known_hosts'
# What to do when mysqldump fails
function report_mysqldump_fail() {
cat $scratch/${filename}_raw.err >> $log
mailx -s "mysqldump failed for DB $db_name on $HOSTNAME!!!" emailme@none.com < $log
exit 2
}
# How to report a step along the process
function status_report() {
message=$1
@k8scat
k8scat / sync_home.sh
Last active April 21, 2022 04:51
Sync user home between two remote servers.
#!/bin/bash
# server1 and server2 are defined in ~/.ssh/config
users=$(ssh server1 "ls /home")
for user in ${users}; do
user_home_found=$(ssh server2 "ls /home" | grep "${user}")
if [[ -n "${user_home_found}" ]]; then
echo "user home already created: ${user}"
continue
fi