编程

1,公司目前有三台服务器,IP 地址分别为 192.168.80.171, 192.168.80.172, 192.168.80.173,192.168.80.17主机名都为 localhost,请问使用什么命令可以获取到当前系统的 Linux 发行版本,内核版本号,系统内存硬件信息,磁盘设备信息,cpu 硬件信息,网卡设备信息?为了方便管理公司服务器资源,请你编写一个服务器信息统计表,除了上面的信息,还应该记录那些信息内容?
[root@localhost ~]# cat tongji2.sh 
#!/bin/bash 
. /etc/os-release
echo "Linux发行版本:  " $NAME
echo "内核版本号:     " `uname -sr`
echo "内存硬件基本信息 " `dmidecode -t memory | sed -n '/^.*Maximum Capacity/p'`
echo "磁盘设备信息     " 
lsblk | sed -n '/^.*d/p' | awk '{print $1,$4}' 
echo "CPU信息:         " `lscpu | sed -n '/^Model name/p'`
echo "网卡设备信息     " `ethtool ens33 | sed -n '/^.*Speed/p'`

ansible.cfg   host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例

[root@localhost yum.repos.d]# cat /etc/ansible/hosts 
[test1]
192.168.80.[171:174]
[test1:vars]
ansible_ssh_user=root
ansible_ssh_pass=1

 

ansible test1 -m script -a "/root/tongji2.sh" >> a.txt

2,每天将 /etc/ 目录下所有文件,备份到 /data 目录的独立子目录下,并要求子目录名称格式为backupYYYY-mm-dd

[root@localhost /]# cat /backup.sh 
#!/bin/bash 
[ ! -d /data ] && mkdir /data 
cp -a /etc/ /data/backup`date +%F`

chmod +x /backup.sh

[root@localhost ansible]# crontab -l
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
* * */1 * * /backup.sh

 3,写一个脚本将某目录下大于100k的文件移动至/backup下

[root@localhost ~]# cat mv.sh 
#!/bin/bash
DIR=/etc
[ ! -d /backup ] && mkdir /backup 
find $DIR -type f -size +100k | xargs mv -t /backup2
#find $DIR -type f -size +100k -exec mv {} /backup \;

 4,添加 10 个用户 user1-user10,密码为8位随机字符

[root@localhost ~]# cat chuan.sh 
#!/bin/bash
[ ! -f user.txt ] && touch user.txt
for i in {1..10}
do 
    useradd user$i
    password=`openssl rand -base64 10 | head -c 8` 
    echo user$i:$password >> user.txt
    echo $password | passwd --stdin user$i
done

 

posted @ 2022-05-04 17:01  gg888666  阅读(108)  评论(0编辑  收藏  举报