在 Linux 系统中使用 tar 打包压缩多个文件夹

支持自定义排除文件类型(针对所有指定的文件夹)
支持排除某个文件夹中的某些子目录

定义变量

EXCFILE 定义排除的文件类型 .log .sock (多值空格隔开)

1
2
# 排除所有的 .log .sock 文件
EXCFILE=".log .sock"

BACKUP_LIST 指定要备份的文件夹(key=value, value为文件夹排除列表[多个值必须以空格分隔])

1
2
3
4
5
declare -A BACKUP_LIST
# 排除 /opt 目录下的 log .cache .vim 文件夹
BACKUP_LIST["/opt"]="log .cache .vim"
# 排除 /var 目录下的 log 文件夹
BACKUP_LIST["/var"]="log"

BACKUP_TO 指定压缩文件存放的路径
FileTGZ 文件命名格式

1
2
3
4
BACKUP_TO=/BackupData
DATE=$(date "+%Y%m%d_%H%M%S")
FileType=.tar.gz
FileTGZ=${BACKUP_TO}/Data-${DATE}${FileType}

SAVE_COUNT 指定存放最大数, 超过此数量会自动删除过早的文件 (可搭配 cronteb 使用)

1
SAVE_COUNT=7
阅读全文 »

Linux 实时记录登录用户的操作记录, 可朔源可审计

定义变量

获取当前登录用户

LOGIN_USER=$(whoami)

定义历史记录的根目录和用户目录

HIS_ROOT=/hist
HIS_USER=${HIS_ROOT}/${LOGIN_USER}

设置历史记录文件

export HISTFILE="${HIS_USER}/$(date '+%F').his"

创建目录

创建相关目录并设置相应的权限

1
2
3
4
5
6
7
8
9
10
11
# 创建历史目录(如果不存在)
if [ ! -d ${HIS_ROOT} ]; then
mkdir ${HIS_ROOT}
chmod 777 ${HIS_ROOT}
fi

# 创建用户目录(如果不存在)
if [ ! -d ${HIS_USER} ]; then
mkdir ${HIS_USER}
chmod 700 ${HIS_USER}
fi
阅读全文 »

一个简单的 sql 语句, 导出当前登录用户的数据字典.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SELECT t1.TABLE_NAME AS "表名",
t3.COMMENTS AS "表备注",
t1.COLUMN_NAME AS "字段名",
DECODE(
t1.CHAR_LENGTH,
0,
DECODE(
t1.DATA_SCALE,
NULL,
t1.DATA_TYPE,
t1.DATA_TYPE || '(' || t1.DATA_PRECISION || ',' || t1.DATA_SCALE || ')'
),
t1.DATA_TYPE || '(' || t1.CHAR_LENGTH || ')'
) AS "字段类型",
t1.DATA_DEFAULT AS "默认值",
t1.NULLABLE AS "能否为空",
t2.COMMENTS AS "字段备注"
FROM sys.user_tab_columns t1,
sys.user_col_COMMENTS t2,
user_tab_COMMENTS t3
WHERE t1.TABLE_NAME = t2.TABLE_NAME
AND t1.COLUMN_NAME = t2.COLUMN_NAME
AND t1.TABLE_NAME = t3.TABLE_NAME
阅读全文 »

本文基于 Windows 11 Version 21H2 进行演示, 旨在从安装系统开始, 到系统部署成功正常使用的一篇指南.

Windows 7 / 10 除界面不太相同外, 其他大同小异. 简单来讲就是本文大部分演示在Windows 7 / 10 系统上同样适用

阅读全文 »

定义

维基百科中批处理的解释是:

批处理文件(英语:Batch file),又称批次档,在DOS、OS/2、微软视窗系统中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并执行的指令。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。它相当于是类Unix系统下的Shell script

简单来说 批处理就是包含一行或多行的"可执行"文本文件(后缀通常是 .bat, .cmd), 本文记录了笔者在使用批处理过程出现的 BUG 语法错误, 以示警醒

阅读全文 »

7-zip是一个不错的解压缩工具, 除了界面丑点以外, 美中不足的就是没有批量压缩这个功能

7z的界面化操作, 实际是调用了命令行去执行解压缩, 既然知道了7z有命令行, 借助Windows的批处理(.bat)

理论上是可以实现批量压缩文件/文件夹这个功能

阅读全文 »

Markdown 基本语法

Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版
它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件
因简洁、高效、易读、易写,Markdown被大量使用

阅读全文 »