====== 添加用户 ====== 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/{}" \;