清理过期日志文件

清理过期日志文件的方法

用find+exec

find找出指定时间的文件,配合exec执行删除

1
2
3
# -mtime 指定文件修改时间
# 如清理2天前的
find log_dir -mtime +2 -type f -name "*.log" -exec rm -rf {} \;

用tmpwatch

使用tmpwatch清理目录,文件最后一次被访问的时间,单位是小时;这个命令只适全整个目录下都是日志的情况

1
2
# 如清理2天前的
tmpwatch -mdfv 48 log_dir

shell中的使用map

定义

shell中map必须申明才能使用

1
declare -A userIds

初始化

1
2
3
4
5
# 方式一,item项目中间不需要逗号
userIds=(['bar']="1" ['foo']="2")
# 方式二
userIds['bar']="1"
userIds['foo']="2"

输出

1
2
3
4
5
6
7
8
9
10
# 输出value
echo "${userIds[*]}"
# 或者
echo "${userIds[@]}"
# 1 2
# 输出key
echo "${!userIds[*]}"
# 或者
echo "${!userIds[@]}"
# bar foo

循环

1
2
3
4
5
6
7
8
9
# 输出key
for key in "${!userIds[@]}"; do
echo $key
echo ${userIds[$key]}
done
# 输出value
for value in "${userIds[@]}"; do
echo $value
done

@换成*效果一样

linux用户管理

创建用户

创建一个用户

1
useradd username

创建用户并创建用户目录

1
useradd -m username

创建用户不创建用户目录

1
useradd -M username

创建用户不用于登录

1
useradd -s /sbin/nologin

创建用户不用于登录和不创建目录

1
useradd -s /sbin/nologin -M username

删除用户

1
userdel username

把用户目录也删掉

1
userdel -r username

设置密码

1
passwd username

用户组

创建组

1
groupadd groupname

删除组

1
groupadd groupname

用户加入组

1
usermod -G groupname username

用户加入组(并从原来组中移出)

1
usermod -g groupname username

用户移出用户组

1
gpasswd -d username groupname

相关查看

所有用户

1
cat /etc/passwd

所有用户组

1
cat /etc/group