美文网首页
为服务器登录增加欢迎信息2023-05-09

为服务器登录增加欢迎信息2023-05-09

作者: 土雕艺术家 | 来源:发表于2023-05-08 21:15 被阅读0次

目标是实现ubuntu\Linux中每开启一个终端,就会自动执行脚本打印系统状态以及注意事项。

1.ssh远程连接的终端,自动执行欢迎脚本

将需要自动执行的脚本放置在相应的路径下就可以,非常简单。
Linux中启动脚本位于/etc/profile.d/
Ubuntu中启动脚本位于/etc/update-motd.d/
放置好文件以后,开启新终端就可以出现欢迎信息了。
可以执行权限确保可以执行。

chmod 755 Welcome.sh

2.桌面系统开启的终端,自动执行欢迎脚本

上述的修改只使用于使用ssh远程连接的终端会执行欢迎脚本,但是如果在服务器本来的桌面系统中打开就不可以。
一般使用服务器桌面系统就是公共账户,所以可以设置该账户每开启一个终端,就自动执行的命令,那么修改~/.bashrc
可以就将欢迎脚本放置在用户目录下,文件名前加.可以隐藏文件。终端可以使用ls -a展示隐藏文件。
通过vim ~/.bashrc再文件末尾,增加执行的欢迎脚本的命令

.....

bash  ~/.Welcome.sh

然后再 source ~/.bashrc,再开启新的终端就可以出现欢迎信息了

最后是欢迎脚本的全内容,复制可用

#!/bin/bash

#注意事项
echo "----------------------------------------------------"
echo "Welcome to Cai Lab!"
echo -e "\t \033[31m### 服务器使用注意事项 ###\033[0m"
attention_info="
\t 1. 实验室是我家 \n 
\t 2. 维持靠大家 \n
\t 3. ..... \n
#服务使用手册储存路径:/path \n"

echo -e $attention_info


#服务器状态提示
echo "----------------------------------------------------"


#System_info=`cat /etc/redhat-release`
#echo "System Info: " $System_info
#显示服务器信息可以根据情况选用
IP=`uname -n`
echo "IP address:" $IP
vmstat 1 2 | tail -1 | awk '
function draw_bar(percnet, total, fill, color)
{
    for(i=0;i<percnet * total;i++)
        printf(color fill color_reset)
}
{

    color_white = "\033[37m"
    color_green = "\033[32m"
    color_yellow = "\033[33m"
    color_red = "\033[31m"
    color_reset = color_white
    fill_char = "#"
    bar_len = 30
#执行`cat /proc/cpuinfo| grep "processor"| wc -l`获得服务器线程数量

    {
        cpu_total = 24 #这里需要填入服务器线程数量
        cpu_used = $13 + $14
        cpu_free = $15
        thread_used = cpu_used * cpu_total * 0.01

        printf("CPU: %d / %d Thread [", thread_used , cpu_total )

        draw_bar(cpu_used / 100, bar_len, fill_char, color_red)
        draw_bar(cpu_free / 100, bar_len, fill_char, color_green)

        printf(" %.1f%%]\n", cpu_used)
    }
}'
#uptime | awk -F "[ ,]" '{printf("CPU Load: %.2f  %.2f  %.2f\n", $(NF-2), $(NF-1), $(NF))}'
free -k | awk '
function draw_bar(percnet, total, fill, color)
{
    for(i=0;i<percnet * total;i++)
        printf(color fill color_reset)
}
{
    color_white = "\033[37m"
    color_green = "\033[32m"
    color_yellow = "\033[33m"
    color_red = "\033[31m"
    color_reset = color_white
    fill_char = "#"
    bar_len = 30

    if(NR==2)
    {
        mem_total = $2
        mem_shard = $5
        mem_used = $3 + mem_shard
        mem_buffcache = $6
        mem_free = $4
        mem_available = $7

        printf("Memory: %.1f / %.1f Gb [", mem_used / 1024 / 1024, mem_total / 1024 / 1024)

        draw_bar(mem_used / mem_total, bar_len, fill_char, color_red)
        draw_bar(mem_available / mem_total, bar_len, fill_char, color_green)

        printf(" %.1f%%]\n", mem_used * 100 / mem_total)
    }
}'
#这里默认是获取根目录内容,如果有需要可以在 df 后面加分区挂载路径
#比如 df /data
df | awk '
function draw_bar(percnet, total, fill, color)
{
    for(i=0;i<percnet * total;i++)
        printf(color fill color_reset)
}
{
    color_white = "\033[37m"
    color_green = "\033[32m"
    color_yellow = "\033[33m"
    color_red = "\033[31m"
    color_reset = color_white
    fill_char = "#"
    bar_len = 30
    if($NF=="/")  #如果上面选择了指定路径 那么这里的"/"也要换,比如 if($NF=="/data")
    {
        disk_total = $2
        disk_used = $3
        disk_available = $4
        disk_used_progress = $5

        printf("Disk of lab: %.1f / %.1f T [", disk_used / 1024 / 1024 / 1024, disk_total / 1024 / 1024 / 1024)

        draw_bar(disk_used / disk_total, bar_len, fill_char, color_red)
        draw_bar(disk_available / disk_total, bar_len, fill_char, color_green)

        printf(" %s]\n", disk_used_progress)
    }
}'

echo "----------------------------------------------------"


成果展示


image.png

参考的工作
https://blog.csdn.net/weixin_30241919/article/details/97487860
https://cloud.tencent.com/developer/beta/article/2206841

相关文章

  • 编程实现基于TCP的Socket通信

    以用户登录为例: 客户端发送用户名和密码到服务器端,然后服务器端进行响应,返回类似“欢迎登录之类的信息” 1、创建...

  • 014服务器登录常用配置

    服务器安全登录配置 (1)远程登录配置 禁止root远程登录,增加远程登录用户vi /etc/ssh/sshd_c...

  • linux 登录欢迎

    背景:由于每次登陆服务器,无法明确区分当前服务器名称,为防止混乱。所以修改登录信息用来更加醒目提醒。1、cento...

  • 1 登录服务器增加用户

    总目录:三阴性乳腺癌全外显子分析(wes) 1登录服务器 1 ubuntu(子系统)直接登录 2 putty登录 ...

  • jenkins创建docker slave

    1、登录jenkins 创建slave节点 2、进行配置 3、看到启动的链接信息 4、登录slave服务器,首先需...

  • /etc/issue和/etc/motd

    我们登录时,经常看到 一个登录欢迎及提示信息: [student@workstation file-templat...

  • LINUX ssh-rsa生成公私钥 实现免密登录

    将公司的所有服务器设置为密钥登录 1:首先生成所有服务器的公私钥 2:COPY 公钥到对于服务器 3:登录服务器设...

  • 《2.5 登录用户验证功能设计》

    一.效果图及其功能描述 实现登录信息到数据库服务器上验证,当超市的工作人员在登录超市的收银系统时,对登录者的信息进...

  • Django高级进阶[部署](2)操作

    准备服务器系统为ubuntu项目 部署步骤 通过ssh连接你的远程服务器ssh 登录的用户名 @ 登录的 ip地址...

  • 解决vue router组件状态刷新消失的问题

    场景:vue-router实现的单页应用,登录页调用登录接口后,服务器返回用户信息,然后通过router.push...

网友评论

      本文标题:为服务器登录增加欢迎信息2023-05-09

      本文链接:https://www.haomeiwen.com/subject/vwilsdtx.html