Skip to content

Instantly share code, notes, and snippets.

View duruyao's full-sized avatar
🏢
Coding in office

Ryan Du duruyao

🏢
Coding in office
View GitHub Profile
@duruyao
duruyao / create-user
Last active October 19, 2022 01:41
Create new user in Linux and add it to sudo or other groups.
#!/usr/bin/env bash
## date: 2022/02/21
## author: duruyao@gmail.com
## desc: the shortcut to create user
## usage: create-user [NEW_USERNAME] [NEW_USER_PASSWD]
set -euo pipefail
function warning_ln() {
@duruyao
duruyao / retry.sh
Last active October 18, 2022 07:04
Retry running a command if fails.
#!/usr/bin/env bash
## date: 2022-01-19
## author: duruyao@gmail.com
## desc: retry running a command if fails
## usage: retry <COMMAND>
set -euo pipefail
command=("$@")
@duruyao
duruyao / docker-proxy-close
Last active October 18, 2022 07:36
Enable or disable proxy for Docker.
#!/usr/bin/env bash
## date: 2022-01-19
## author: duruyao@gmail.com
## desc: disable proxy for docker
## usage: docker-proxy-close
rm -f "${HOME}/.docker/config.json"
@duruyao
duruyao / proxy-close
Last active October 18, 2022 08:04
Set environment variables for current shell to enable or disable proxy.
#!/usr/bin/env bash
## date: 2022-01-19
## author: duruyao@gmail.com
## desc: unset environment variables for current shell to disable proxy
## usage: proxy-close
set -euo pipefail
function warning_ln() {
@duruyao
duruyao / Change.Docker.Root.Directory.md
Last active November 1, 2022 02:13
Move data of Docker to the new directory.

Change Docker Root Directory

  1. Show docker root directory (default: /var/lib/docker).
docker_root="$(docker info -f '{{ .DockerRootDir }}')"
echo "${docker_root}"
  1. Start the docker containers and display the free size of the hard disk where the current docker root directory is located.
@duruyao
duruyao / docker-container-cleaner.sh
Last active October 18, 2022 08:54
Automatically clean up exited docker containers periodically.
#!/usr/bin/env bash
## date: 2022-01-14
## author: duruyao@gmail.com
## desc: clean up exited docker containers
set -euo pipefail
tmp_path="${HOME}/.exited-containers"
log_path="${HOME}/.docker-container-cleaner.log"
@duruyao
duruyao / console_print.h
Last active March 16, 2023 03:54
An example of printing logs of different levels in different colors on the console (implemented in C/C++).
/*
* @date 2022-06-19
* @author duruyao@gmail.com
* @desc print different levels of logs in the console
*/
#ifndef CONSOLE_PRINT_H
#define CONSOLE_PRINT_H
#include <stdio.h>
@duruyao
duruyao / read_2d_array.sh
Last active September 5, 2022 07:05
Read two-dimensional array by Bash script.
#!/usr/bin/env bash
## date: 2021-12-14
## author: duruyao@gmail.com
## desc: read two-dimensional array by Bash script
data=(
'00007887.JPEG JPEG 500x333 500x333+0+0 8-bit sRGB 81.6KB 0.000u 0:00.000'
'00007893.JPEG JPEG 480x411 480x411+0+0 8-bit Grayscale Gray 256c 54KB 0.000u 0:00.000'
'00007894.JPEG JPEG 500x375 500x375+0+0 8-bit sRGB 52.9KB 0.000u 0:00.000'
@duruyao
duruyao / dk-attach
Last active February 23, 2022 02:28
The shortcut to run docker container.
#!/usr/bin/env bash
## date: 2021-12-06
## author: duruyao@gmail.com
## desc: the shortcut to attach docker container
##
## usage: dk-attach [CONTAINER]
##
@duruyao
duruyao / restore_gitlab.sh
Last active May 17, 2024 02:35
Automatically restore for Omnibus Gitlab installations from backups periodically.
#!/usr/bin/env bash
## date: 2024-02-29
## author: duruyao@vimicro.com
## desc: restore for 'omnibus' gitlab installations from backups
set -euo pipefail
current_date() {
date +"%Y-%m-%d"