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 //设定默认zone

    firewall-cmd --get-zone-of-interface=ens33 //查看指定网卡

    firewall-cmd --zone=public --add-interface=lo //给指定网卡设置zone

    firewall-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小时

  • 注意点:

  1. 文件/var/spool/cron/username
  2. 可用格式1-5表示一个范围1到5
  3. 可用格式1,2,3表示1或者2或者3
  4. 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时
  5. 要保证服务是启动状态 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第十五次课:日常运维-防火墙、定时任务、系统管理相关推荐

  1. hadoop日常运维

    hadoop日常运维 @(HADOOP)[hadoop] (一)备份namenode的元数据 namenode中的元数据非常重要,如丢失或者损坏,则整个系统无法使用.因此应该经常对元数据进行备份,最好 ...

  2. Linux 系统日常运维九大技能和运维网络知识总结

    一.Linux 系统日常运维九大技能 1.安装部署 方式:U盘,光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart 可以参考如下链接内容 ...

  3. 与“十“俱进 阿里数据库运维10年演进之路

    与"十"俱进 阿里数据库运维10年演进之路 原文:与"十"俱进 阿里数据库运维10年演进之路 阿里巴巴集团拥有超大的数据库实例规模,在快速发展的过程中我们在运维 ...

  4. [10] Linux系统日常运维

    [10] Linux系统日常运维 10.1 使用w查看系统负载 [root@Temence ~]# w19:28:05 up 45 days, 9:20, 1 user, load average: ...

  5. 干货丨Ceph 日常运维常见难点及故障解决

    本文转自twt社区. [导读]Ceph 日常运维中有几类常见问题,社区日前组织Ceph领域专家进行了线上的答疑交流,对社区会员提出的部分典型问题进行了分享解答,以下是分享内容,希望能为大家提供答案和一 ...

  6. Linux系统运维九大技能及知识总结,90%日常运维

    Linux 系统运维九大技能及知识总结,搞定 90% 日常运维 | 周末送资料 以下内容包括RedHat和CentOS运维工作中常用的几大技能,并总结了系统运维中网络方面的规划.操作及故障处理等知识. ...

  7. mysql dba工作笔记pdf_社区专家在线:Oracle数据库、MySQL、Db2 等数据库日常运维故障与性能调优在线答疑...

    数据库的重要性毋庸置疑,随着数据量日益增加,数据库的重要性更为凸显.DBA们作为数据库的日程运维管理人员,肩负着数据库运维的重要使命.一名合格的DBA,日常工作中需要掌握多项技能,包括数据库的故障诊断 ...

  8. 同时防服务器维修,加强服务器日常运维,避免宕机灾难发生

    原标题:加强服务器日常运维,避免宕机灾难发生 服务器作为我们日常网络的支撑,可以说是24小时的全天候运转.在这种无休止的"加班"的状态下,服务器必然容易出问题,一旦发生服务器宕机就 ...

  9. oracle 运营维护_Oracle数据库日常运维常用脚本

    大 中 小 Oracle数据库日常运维常用脚本 1 查看所有数据文件 select file_name from dba_data_files union select file_name from ...

最新文章

  1. SRTP是如何工作的
  2. Eclipse基金会发布MicroProfile 2.2,适用于Java微服务
  3. 集成学习voting Classifier在sklearn中的实现
  4. HDU5765 Bonds 最小割极
  5. typedef四用途与两陷阱
  6. html中style布局放哪,CSS样式表与格式布局详解
  7. Oracle数据库报错【ORA-12514 】TNS 监听程序当前无法识别连接描述符中请求服务
  8. 【FFMPEG系列】之工具调试:gprof性能分析
  9. 关于python装饰器的总结
  10. python etree创建xml_python-如何使用xml.etree.Element编写XML声明
  11. U956(MTK6589系列)移植乐蛙教程
  12. 高等数学学习笔记——第八十讲——球坐标下三重积分的计算
  13. MySQL数据库基本操作,命令行创建数据库、数据表,查询语句,模糊查询、范围查询、判断查询
  14. 【C++】交通咨询系统(最短路径问题)
  15. AutoCAD2014官方原版软件下载
  16. Sencha Cmd自动构建ExtJs项目框架
  17. Social LSTM全文翻译
  18. 计算机win7如何连接wifi网络,笔记本怎么连接wifi,教您笔记本怎么连接Wifi
  19. 41_C++_试定义类 TR1(三角形)及其派生类 COL(三角柱体)其中三角形类可以计算三角形的面积和周长; 三角柱体类可以计算柱体的体积和表面积【难点:子类初始父类私有成员、子类对象赋值给父类】
  20. 【航拍中国】广东笔记

热门文章

  1. 关于C语言标识符作用域的说法 正确的是,郑州大学远程教育-网教《C语言程序设计》在线测试2 满分代做QQ805006590...
  2. 一文读懂 Java 字符串相关知识点和常见面试题
  3. 将ubuntu16制作成镜像或者docker
  4. 干货分享!这6个高效率办公软件,总有一个值得你收藏!
  5. Leaf中的Marker cluster
  6. 数据库如何设计,一头雾水,一文带你学习如何设计数据库
  7. Kotlin专题「四」:逻辑控制语句(if、for、when、while、return、break、continue)
  8. 微信商城运营推广十二法
  9. 基于PyQT5的翻译小程序(支持百度翻译和有道词典)
  10. 小白必看!关于欧盟商标注册须知事项?