centos脚本延时,centos7维护到2024年
大家好,关于centos脚本延时很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于centos7维护到2024年的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
【实用】CentOS 7系统优化脚本
作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。
脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。
脚本结构如下:
1.主菜单
2.二级菜单
主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。
脚本代码如下:
sh
#!/bin/sh
./etc/rc.d/init.d/functions
exportLANG=zh_CN.UTF-8
#一级菜单
menu1(){
clear
cat</etc/locale.conf</dev/null
echo'#firewall-cmd--state'
firewall-cmd--state
systemctldisablefirewalld.service&>/dev/null
echo'#systemctllist-unit-files|grepfirewalld'
systemctllist-unit-files|grepfirewalld
action"完成禁用firewalld,生产环境下建议启用!"/bin/true
echo"==========================================================="
sleep5
}
#精简开机启动
chkset(){
echo"=======================精简开机启动========================"
systemctldisableauditd.service
systemctldisablepostfix.service
systemctldisabledbus-org.freedesktop.NetworkManager.service
echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'
systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"
action"完成精简开机启动"/bin/true
echo"==========================================================="
sleep2
}
#修改文件描述符
limitset(){
echo"======================修改文件描述符======================="
echo'*-nofile65535'>/etc/security/limits.conf
ulimit-SHn65535
echo"#cat/etc/security/limits.conf"
cat/etc/security/limits.conf
echo"#ulimit-Sn;ulimit-Hn"
ulimit-Sn;ulimit-Hn
action"完成修改文件描述符"/bin/true
echo"==========================================================="
sleep2
}
#安装常用工具及修改yum源
yumset(){
echo"=================安装常用工具及修改yum源==================="
yuminstallwget-y&>/dev/null
if[$?-eq0];then
cd/etc/yum.repos.d/
\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
ping-c1mirrors.aliyun.com&>/dev/null
if[$?-eq0];then
wget-O/etc/yum.repos.d/CentOS-Base.repo
yumcleanall&>/dev/null
yummakecache&>/dev/null
else
echo"无法连接网络"
exit$?
fi
else
echo"wget安装失败"
exit$?
fi
yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null
action"完成安装常用工具及修改yum源"/bin/true
echo"==========================================================="
sleep2
}
#优化系统内核
kernelset(){
echo"======================优化系统内核========================="
chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`
if[$chk_nf-eq0];then
cat>>/etc/sysctl.conf</dev/null
if[$?-eq0];then
/usr/sbin/
echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root
else
echo"ntpdate安装失败"
exit$?
fi
action"完成设置时间同步"/bin/true
echo"==========================================================="
sleep2
}
#history优化
historyset(){
echo"========================history优化========================"
chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`
if[$chk_his-eq0];then
cat>>/etc/profile<<'EOF'
#设置history格式
exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"
#记录shell执行的每一条命令
exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF
source/etc/profile
else
echo"优化项已存在。"
fi
action"完成history优化"/bin/true
echo"==========================================================="
sleep2
}
main(){
menu1
case$num1in
1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;
2) menu2
case$num2in
1) localeset;;
2) selinuxset;;
3) firewalldset;;
4) chkset;;
5) limitset;;
6) yumset;;
7) kernelset;;
8) sshset;;
9) restartset;;
10) ntpdateset;;
11) historyset;;
12) main;;
13) exit;;
*) echo'Pleaseselectanumberfrom[1-13].';;
esac
;;
3) exit;;
*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;
esac
}
main$*
将脚本保存为init.sh,赋予执行权限并执行即可。
chmod+xinit.sh&&./init.sh
通过一键命令执行,同样能达到脚本的效果:
bash-c"$(curl-Ls.aaa.al/init.sh)"
如需新增功能,可在脚本基础上进行修改实现。
本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。
centos7上手动释放内存cache和脚本定时释放
在CentOS 7系统中,释放内存cache主要通过两种方式实现:手动释放和定时释放。
手动释放内存cache,可以通过执行以下命令:echo 3>/proc/sys/vm/drop_caches。这命令会清除所有缓存。
若要实现定时释放,首先在根目录下创建shell脚本文件,例如:
[root@own001]# mkdir-p/root/shell
[root@own001]# vim/root/shell/freemem.sh
在脚本文件中编写如下命令并保存:
chmod a+x/root/shell/freemem.sh
接着将此脚本加入到crontab任务中,执行命令:
vim/etc/crontab
在文件末尾添加定时任务内容:
* 1*** root/root/shell/freemem.sh//表示每天凌晨1点执行
此任务格式如下:Minute Hour Day Month Dayofweek user-name command
解释:
Minute每个小时的第几分钟执行
Hour每天的第几个小时执行
Day每月的第几天执行
Month每年的第几个月执行
DayOfWeek每周的第几天执行
user-name所属用户
Command指定的程序
注意:Command和user-name必须指定,其它字段可选,用*填补。
重启crontab服务确保定时任务生效:systemctl restart crond.service
至此,定时释放内存功能完成。
在配置crontab文件时发现,vim/etc/crontab和crontab-e的使用方式不同。在vim/etc/crontab中需要标注用户,否则任务不执行。反之,crontab-e中不需要标注用户,否则同样无法执行。
在实际项目中,通常使用普通用户编写定时脚本,直接执行crontab-e配置任务。
在Linux系统中,crontab的执行日志会记录在/var/log/syslog或/var/log/cron中。可通过以下命令查看日志内容:
sudo cat/var/log/cron| grep CRON
或
sudo cat/var/log/cron| grep alyddns.py
这将显示包含"Cron"关键字的日志条目,显示crontab任务的执行情况。
Centos8 设置开机自启动脚本
CentOS 8系统中,传统的/etc/rc.local文件已不再自动执行开机脚本,需要通过设置 rc.local服务使其开机自启动。以下是设置步骤:
在CentOS 8中,为确保开机时执行自定义脚本,需要首先理解rc.local服务的配置。首先,检查默认的/etc/rc.local状态,确认它是/etc/rc.d/rc.local的符号链接。
接着,编辑/etc/rc.local并添加你需要的开机启动命令,确保给予可执行权限。例如,创建一个在/tmp的 txt文件:
1.打开编辑器,添加一行启动命令,如:`touch/tmp/mytxt.txt`
2.授予命令执行权限:`chmod+x/etc/rc.local`
然后,配置 rc.local服务,确保 service文件包含必要的启动指令,例如:
4.启动 rc-local服务:`systemctl start rc-local`
5.为了开机自动执行,设置服务开机启动:`systemctl enable rc-local`
测试配置:重启系统后,检查/tmp文件夹中是否生成了 txt文件。如果成功,说明脚本没有问题。删除该文件后再次重启,确认文件在下次启动时仍存在,以验证 rc-local服务配置正常。
对于 CentOS 7中的 Nginx安装,需要额外指定 yum仓库来获取 Nginx包。首先,创建一个 nginx.repo文件,配置仓库地址,然后使用 yum安装 Nginx并启动它。Nginx的配置文件位于/etc/nginx目录下,具体如下:
1.安装 Nginx:`yum install nginx`
2.配置文件位置:/etc/nginx/nginx.conf和/etc/nginx/conf.d/default.conf
3.启动、停止和检查 Nginx状态使用 systemctl命令。
4.访问 Nginx:在浏览器中输入服务器 IP地址(默认80端口,如 ``)。
完成以上步骤后,CentOS 7的 Nginx安装就完成了。