0418第十五次课:日常运维-防火墙、定时任务、系统管理
2019独角兽企业重金招聘Python工程师标准>>>
日常运维-防火墙、定时任务
一、iptables的备份及恢复
iptables 规则备份
防火墙规则只存在内存中,并没保存在文件中。如果系统重启之前设定的规则就没有了,所以设定完成后需要保存一下。
service iptables save
//会备份到/etc/sysconfig/iptables文件中service iptables save > 文件名
//指定文件备份恢复
iptables-restore < 备份的文件名
//恢复备份文件中的规则步骤:
清理nat表规则
iptables -t nat -F
iptables -t nat -nvL
恢复备份文件:
iptables-restore < test.tpt
二、使用firewalld
开启firewalld
systemctl stop iptables.service
systemctl disable iptables.service
systemctl enable firewalld.service
firewalld默认9个zone(zone为firewalld的单位,默认为pulic)
zone操作
firewall-cmd --set-default-zone=work
//设定默认zonefirewall-cmd --get-zone-of-interface=ens33
//查看指定网卡firewall-cmd --zone=public --add-interface=lo
//给指定网卡设置zonefirewall-cmd --zone=dmz --remove-interface=lo
//删除指定网卡zone
三、linux任务计划
linux中任务计划必不可以少,它可以定时执行一些备份数据、重启服务器等操作,操作可能是一个脚本或者命令。
crontab任务计划命令:
格式:分 时 日 月 周 user command
分范围:0-59,时范围:0-60,日范围:0-31,月范围1-12,周范围:1-7
指定范围:1-5 ,指定1到5范围 可以用1,2,3表示1或者2或者3
*/2表示被2整除的数字,比如小时,那就是每隔2小时
注意点:
- 文件/var/spool/cron/username
- 可用格式1-5表示一个范围1到5
- 可用格式1,2,3表示1或者2或者3
- 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时
- 要保证服务是启动状态
systemctl start crond.service
计划任务配置文件
cat /etc/crontab
文件中有几个环境变量:
SHELL=/bin/bash
PATH:环境变量,命令的路径
MAILTO:发邮件给谁
格式说明
# Example of job definition:
# .---------------- minute (0 - 59) //分钟
# | .------------- hour (0 - 23) //小时
# | | .---------- day of month (1 - 31)//日期
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... //月份
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat //星期
# | | | | |
# * * * * * user-name command to be executed //需要执行的命令
新增定时任务
crontab -e
//进入编辑模式,和vim一样,按i进行编辑示例:
1.新增一个凌晨3点执行的脚本,*代表所有的意思。并且把日志和错误日志输出
0 3 1-10 */2 * /bin/bash /usr/local/sbin/test.sh /tmp/test.log 2>> /tmp/test2.log
2.新增一个周二、周五才执行的脚本:
0 3 * * 2,5 /bin/bash /usr/local/sbin/test.sh /tmp/test.log 2>> /tmp/test2.log
如果想用年份可以用星期确定唯一性,比如说今年的6月18号和明年的6月18号的星期肯定是不同的
启动定时任务
需要启动crond服务,定时任务才会生效
systemctl start crond.service
检查是否启动成功
ps aux |grep cron
或者:systemctl status crond 查看,如果状态是绿色就说明成功了
任务计划不执行的原因分析
写了定时任务,crond服务也是正常,但是就是不执行。
原因可能为:脚本中命令未使用绝对路径,解决:要么将命令写一个绝对路径,要么将命令的路径加入到PATH变量里面去
建议追加一个日志,这样就可以根据日志来判断。
任务计划备份
crontab文件存在位置/var/spool/cron/username,需要备份的时候直接复制即可。
四、chkconfig工具
chkconfig工具是linux服务的管理工具,cron、iptables、firewalld、mysql等都是服务。chkconfig可以管理这些服务开机是否启动等。
chkconfig工具在centos6和之前的版本中使用,centos7中已经逐渐的不在使用了,为了过度centos7还可以使用,但是后面趋势是会被遗弃。
列出系统所有服务
chkconfig --list
0-6 表示7个启动级别(centos6及以前):
0:关机 1: 单用户 2:多用户模式(不带nfs服务) 3: 多用户模式(不带图形) 4: 保留级别 5: 多用户(带有图形) 6: 重启
需要注意的是:启动脚本需要放到/etc/init.d/目录下
关闭network服务
chkconfig network off
指定某一服务的某个级别开启或关闭
chkconfig --level 3 network off
//指定第三级别network服务关闭chkconfig --level 345 network on
//指定network中的3,4,5级别开启将一个脚本加入到服务列表列表中
首先把脚本放到/etc/init.d/目录下
脚本名称没有要求,但是格式有要求:
1、必须是一个shell脚本
2、需指定运行级别,第10位开启,第90关闭
示例:init.d目录下 cp network服务 随便起一个名字,进行添加
cp network 123
chkconfig --add 123
结果:
删除:
chkconfig --del 123
五、systemd管理服务
几个常用的服务相关的命令
systemctl enable crond.service
//让服务开机启动systemctl disable crond
//不让开机启动systemctl status crond
//查看状态systemctl stop crond
//停止服务systemctl start crond
//启动服务systemctl restart crond
//重启服务systemctl is-enabled crond
//检查服务是否开机启动在centos6或之前的版本中用chkconfig工具去管理系统的服务,在centos7中使用systemd。
列出所有的service
设置服务开机启动
systemctl enable crond.service
//.service 可以不加关闭开机启动
systemctl disable crond
查看状态
systemctl status crond
启动服务
systemctl start crond
停止服务
systemctl stop crond
检查服务是否开机启动
systemctl is-enabled crond
###六、unit介绍
ssystemctl 状态如果是enabled 会在 /usr/lib/systemd/system 目录下生产软连接,这些文件都叫做unit。
unit分为以下类型:
service 系统服务
target 多个unit组成的组
device 硬件设备
mount 文件系统挂载点
automount 自动挂载点
path 文件或路径
scope 不是由systemd启动的外部进程
slice 进程组
snapshot systemd快照
socket 进程间通信套接字
swap swap文件
timer 定时器
unit相关的命令
列出正在运行的unit:
systemctl list-units
列出所有的unit:
systemctl list-units --all
列出inactive状态的unit
systemctl list-units --all --state=inactive
列出状态为active的service
systemctl list-units --type=service
查看某个服务是否为active
systemctl is-active crond.service
七、target介绍
系统为了方便管理target来管理unit
target相关的命令
列出系统中所有的target:
systemctl list-unit-files --type=target
查看指定target下面有哪些unit
systemctl list-dependencies multi-user.target
查看系统默认的target
systemctl get-default
设置默认的target
systemctl set-default multi-user.target
一个service属于一种类型的unit
多个unit组成了一个target
一个target里面包含了多个service
cat /usr/lib/systemd/system/sshd.service 看[install]部分
八、课堂笔记
firewalld-cmd添加规则示例
firewall-cmd --add-port=80/tcp
firewall-cmd --permanent --add-port=80/tcp; firewall-cmd --reload
firewall-cmd --permanent --add-service=http; firewall-cmd --reload
firewall-cmd 如何添加自定义规则
centos各个版本服务器启动
转载于:https://my.oschina.net/u/3755326/blog/3039145
0418第十五次课:日常运维-防火墙、定时任务、系统管理相关推荐
- hadoop日常运维
hadoop日常运维 @(HADOOP)[hadoop] (一)备份namenode的元数据 namenode中的元数据非常重要,如丢失或者损坏,则整个系统无法使用.因此应该经常对元数据进行备份,最好 ...
- Linux 系统日常运维九大技能和运维网络知识总结
一.Linux 系统日常运维九大技能 1.安装部署 方式:U盘,光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart 可以参考如下链接内容 ...
- 与“十“俱进 阿里数据库运维10年演进之路
与"十"俱进 阿里数据库运维10年演进之路 原文:与"十"俱进 阿里数据库运维10年演进之路 阿里巴巴集团拥有超大的数据库实例规模,在快速发展的过程中我们在运维 ...
- [10] Linux系统日常运维
[10] Linux系统日常运维 10.1 使用w查看系统负载 [root@Temence ~]# w19:28:05 up 45 days, 9:20, 1 user, load average: ...
- 干货丨Ceph 日常运维常见难点及故障解决
本文转自twt社区. [导读]Ceph 日常运维中有几类常见问题,社区日前组织Ceph领域专家进行了线上的答疑交流,对社区会员提出的部分典型问题进行了分享解答,以下是分享内容,希望能为大家提供答案和一 ...
- Linux系统运维九大技能及知识总结,90%日常运维
Linux 系统运维九大技能及知识总结,搞定 90% 日常运维 | 周末送资料 以下内容包括RedHat和CentOS运维工作中常用的几大技能,并总结了系统运维中网络方面的规划.操作及故障处理等知识. ...
- mysql dba工作笔记pdf_社区专家在线:Oracle数据库、MySQL、Db2 等数据库日常运维故障与性能调优在线答疑...
数据库的重要性毋庸置疑,随着数据量日益增加,数据库的重要性更为凸显.DBA们作为数据库的日程运维管理人员,肩负着数据库运维的重要使命.一名合格的DBA,日常工作中需要掌握多项技能,包括数据库的故障诊断 ...
- 同时防服务器维修,加强服务器日常运维,避免宕机灾难发生
原标题:加强服务器日常运维,避免宕机灾难发生 服务器作为我们日常网络的支撑,可以说是24小时的全天候运转.在这种无休止的"加班"的状态下,服务器必然容易出问题,一旦发生服务器宕机就 ...
- oracle 运营维护_Oracle数据库日常运维常用脚本
大 中 小 Oracle数据库日常运维常用脚本 1 查看所有数据文件 select file_name from dba_data_files union select file_name from ...
最新文章
- SRTP是如何工作的
- Eclipse基金会发布MicroProfile 2.2,适用于Java微服务
- 集成学习voting Classifier在sklearn中的实现
- HDU5765 Bonds 最小割极
- typedef四用途与两陷阱
- html中style布局放哪,CSS样式表与格式布局详解
- Oracle数据库报错【ORA-12514 】TNS 监听程序当前无法识别连接描述符中请求服务
- 【FFMPEG系列】之工具调试:gprof性能分析
- 关于python装饰器的总结
- python etree创建xml_python-如何使用xml.etree.Element编写XML声明
- U956(MTK6589系列)移植乐蛙教程
- 高等数学学习笔记——第八十讲——球坐标下三重积分的计算
- MySQL数据库基本操作,命令行创建数据库、数据表,查询语句,模糊查询、范围查询、判断查询
- 【C++】交通咨询系统(最短路径问题)
- AutoCAD2014官方原版软件下载
- Sencha Cmd自动构建ExtJs项目框架
- Social LSTM全文翻译
- 计算机win7如何连接wifi网络,笔记本怎么连接wifi,教您笔记本怎么连接Wifi
- 41_C++_试定义类 TR1(三角形)及其派生类 COL(三角柱体)其中三角形类可以计算三角形的面积和周长; 三角柱体类可以计算柱体的体积和表面积【难点:子类初始父类私有成员、子类对象赋值给父类】
- 【航拍中国】广东笔记
热门文章
- 关于C语言标识符作用域的说法 正确的是,郑州大学远程教育-网教《C语言程序设计》在线测试2 满分代做QQ805006590...
- 一文读懂 Java 字符串相关知识点和常见面试题
- 将ubuntu16制作成镜像或者docker
- 干货分享!这6个高效率办公软件,总有一个值得你收藏!
- Leaf中的Marker cluster
- 数据库如何设计,一头雾水,一文带你学习如何设计数据库
- Kotlin专题「四」:逻辑控制语句(if、for、when、while、return、break、continue)
- 微信商城运营推广十二法
- 基于PyQT5的翻译小程序(支持百度翻译和有道词典)
- 小白必看!关于欧盟商标注册须知事项?