# /usr/bin/last -xF | egrep "reboot|shutdown|runlevel|system"
[步骤] Linux rm 命令的监控
步骤一:将原来的 rm 命令进行备份
# cp /usr/bin/rm /usr/bin/rm.original
步骤二:创建一个记录 rm 命令使用的脚本
# cat /usr/bin/rm
#!/bin/bash
log=/var/log/rm_command.log
echo "The $$ is calling rm command" >> $log
echo "The full command is $*" >> $log
echo
echo "now use this command to get more information: /bin/ps axwwo user,pid,ppid,%cpu,%mem,vsz,rss,stat,time,cmd" >>$log
/bin/ps axwwo user,pid,ppid,%cpu,%mem,vsz,rss,stat,time,cmd >>$log
/usr/bin/rm.original $*
echo "============================================================" >>$log
步骤三:给记录 rm 命令使用的脚本执行权限
# chmod 755 /usr/bin/rm.original
步骤四:下次使用 rm 命令后就可以监控 /var/log/rm_command.log 日志了
(步骤略)
[命令] Linux 命令 dmesg (显示开机日志)
内容一:dmesg 简介
Linux 的 kernel 会把开机日子存储在 ring buffer 和 /var/log/message 中,其中 ring buffer 里的开机日志可以使用 dmesg 来显示,如果开机时的提示信息来不及阅读的话,可以通过 dmesg 命令来显示
内容二:dmesg 命令的选项
1) -c 显示 ring buffer 的日志后清空 ring buffer
2) -n 显示日志的层级
3) -cn 显示 ring buffer 的日志后清空 ring buffer,同时显示日志的层级
4) -s 设置缓冲区的大小,默认为 8196 与 ring buffer 的大小一样
内容三:dmesg 命令的使用案例
3.1 显示所有开机日志
# dmesg | less
3.2 显示所有日志,显示 ring buffer 的日志后清空 ring buffer,同时显示日志的层级
# dmesg -cn
3.3 显示所有失败的开机日志
# dmesg | egrep -i "fail|warn|error"
[工具] Shell 批量修改多个远程服务器某个用户的密码 (精致版)
介绍
基本信息
作者:朱明宇
名称:批量修改多个远程服务器某个用户的密码
作用:批量修改多个远程服务器某个用户的密码
使用方法
1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每服务器名占用 1 行
3. 给脚本分割线里的变量赋值
4. 给此脚本添加执行权限
5. 执行此脚本
脚本分割线里的变量
1. list=”list.txt” #指定清单的目录和名称
2. user=eternalcenter #指定要修改密码的用户
3. password=eternalcenter #指定要修改的密码
注意
此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器,并且可以通过 sudo 获得 su 的 root 权限
脚本
#!/bin/bash
####################### Separator ########################
list="list.txt"
user=eternalcenter
password=eternalcenter
####################### Separator ########################
num=1
cat $list
for i in `cat $list`
do
echo $num
echo $i
ssh -t $i "type lsb_release" &> /dev/null
if [ $? -ne 0 ]; then
distribution=`ssh -t $i "cat /etc/*release | grep '^NAME'"`
if [ $? -ne 0 ];then
distribution=`ssh -t $i "cat /etc/*release"`
fi
else
distribution=`ssh -t $i "lsb_release -i | grep 'ID' | grep -v 'n/a'"`
fi;
echo $distribution
case $distribution in
*"RedHat"* | *"Red Hat"*)
ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
if [ $? -eq 0 ];then
echo -e "\033[32m$i is success\033[0m"
else
echo -e "\033[31m$i is fail\033[0m"
fi
;;
*"CentOS"*)
ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
if [ $? -eq 0 ];then
echo -e "\033[32m$i is success\033[0m"
else
echo -e "\033[31m$i is fail\033[0m"
fi
;;
*"SUSE"* | *"SLES"*)
ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
if [ $? -eq 0 ];then
echo -e "\033[32m$i is success\033[0m"
else
echo -e "\033[31m$i is fail\033[0m"
fi
;;
*"openSUSE"*)
ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
if [ $? -eq 0 ];then
echo -e "\033[32m$i is success\033[0m"
else
echo -e "\033[31m$i is fail\033[0m"
fi
;;
*)
echo -e "\033[31m$i is fail \033[0m"
;;
esac
let num++
echo
done
[步骤] 系统升级 (从 openSUSE Leap 15.2 升级到 openSUSE Leap 15.3)
步骤一:显示现在的系统版本
# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.2"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.2"
PRETTY_NAME="openSUSE Leap 15.2"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
(注意:确保显示的系统版本是 openSUSE Leap 15.2)
步骤二:准备升级
2.1 确认已使用的软件库
# zypper ls -d
# | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1 | repo-non-oss | Non-OSS Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/
2 | repo-oss | Main Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/
3 | repo-update | Main Update Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/
4 | repo-update-non-oss | Update Repository (Non-Oss) | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.2/non-oss/
(补充:确保以上软件库已处于 Enabled 状态)
2.2 刷新已使用的软件库
# zypper ref
(注意:确保刷新成功,否则请检查网络)
2.3 将所有 openSUSE Leap 15.2 软件包更新到最新版本
# zypper -n update
2.4 用 releasever 变量替换所有版本号
# sed -i 's/15.2/${releasever}/g' /etc/zypp/repos.d/*.repo
步骤三:升级系统
3.1 将版本号设置为 15.3 并刷新
# zypper --releasever=15.3 refresh
3.2 提前下载并安装 openSUSE Leap 15.3 所需的软件包
# zypper --releasever=15.3 dup --download-in-advance
3.3 升级系统
# zypper --releasever=15.3 dup
3.4 重启系统
# reboot
步骤四:后续检查
4.1 显示升级后的系统版本
# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.3"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.3"
PRETTY_NAME="openSUSE Leap 15.3"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.3"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
4.2 显示升级后已使用的软件库
# zypper ls -d
# | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1 | repo-non-oss | Non-OSS Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/
2 | repo-oss | Main Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/oss/
3 | repo-update | Main Update Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.3/oss/
4 | repo-update-non-oss | Update Repository (Non-Oss) | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.3/non-oss/
4 | repo-backports-update | Update repository of openSUSE Backports | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.3/backports/
5 | repo-sle-update | Update repository with updates from SUSE Linux Enterprise 15 | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.3/sle/
(注意:升级到 openSUSE Leap 15.3 系统后,自动新增加了 repo-backports-update 软件库和 repo-sle-update 软件库)