====== 添加用户 ======
Ubuntu下添加用户
sudo adduser
====== 设置用户密码 ======
passwd
====== 为用户添加sudo权限 ======
# 使用root用户执行下面的命令
# wheel是具有sudo权限的用户组
usermod -aG wheel
# 对于Ubuntu,使用下面的命令
usermod -aG sudo
====== 通过mailx命令行发送邮件 ======
ubuntu下需要安装heirloom-mailx,centos需要安装mailx,然后通过smtp协议连接邮箱发邮件。详见:https://www.binarytides.com/linux-mailx-command/和https://www.systutorials.com/1411/sending-email-from-mailx-command-in-linux-using-gmails-smtp/。
其中,尝试ssl协议发送邮件没有成功(提示Unexpected EOF of SMTP connection),建议不启用ssl。
具体过程:
apt install heirloom-mailx
# 发送邮件到zhangsan@test.com
echo "" | mailx -s "" zhangsan@test.com
使用mailx前需要配置~/.mailrc(没有这个文件新建一个就行了)如下:
set smtp=smtp://smtp.163.com:25
set smtp-auth=login
set smtp-auth-user=
set smtp-auth-password=
set from=
===== 检测磁盘使用率并通过邮件提醒 =====
新建df_notification.sh,内容如下:
#!/usr/bin/env bash
CURRENT=$(df / | grep / | awk '{print $5}' | sed 's/%//g')
THRESHOLD=95
if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
echo "服务器/磁盘空间超$THRESHOLD" | mailx -s "Disk Space Alert" ahaqxjl@163.com
fi
====== Ubuntu增加虚拟内存(添加Swap空间) ======
在Ubuntu server 16.04 64bit测试通过。参考[[https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04|How To Add Swap Space on Ubuntu 16.04]]
#如果下面的命令没有返回任何结果,则没有启用swap空间
sudo swapon --show
#查看内存情况
free -h
#确认是否有足够的磁盘空间
df -h
#创建swap文件,下面的例子是创建8g的swap文件
sudo fallocate -l 8G /swapfile
#修改swap文件的权限
sudo chmod 600 /swapfile
#将swap文件标记为swap空间
sudo mkswap /swapfile
#启用swap文件
sudo swapon /swapfile
#确认swap启用成功,执行下面的命令后应该有返回
sudo swapon --show
#通过free再次确认swap启用成功
free -h
#开机挂载swap
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
====== 清空Linux服务器过期日志 ======
# 找到修改时间7天前的日志文件,并删除
find tomcat/logs/ -mtime +7 -print0 | xargs -r -0 rm -rf
====== Linux文件查找截取等操作 ======
===== 文件或文件夹下查找字符串 =====
grep -rnw '/path/to/somewhere/' -e 'pattern'
cat 'filename' | grep 'pattern'
===== 行区间截取文件内容 =====
sed -n '15010,15020p' input.txt> output.txt
awk '15010<=NR && NR <=15020' input.txt> output.txt
head -n 15020 input.txt | tail -n $((15020-15010+1))> output.txt
====== 提取行尾数字小于20的行 ======
| grep ' [1-9]$\|1.$'
====== 复制文件夹结构(不包含文件) ======
详见:[[https://www.baeldung.com/linux/copy-directory-structure|Copy Directory Structure Without Files]]
find rootDir -type d -exec mkdir -p "/tmp/test/{}" \;