cron周期性计划任务

  • cron周期性计划任务用来定期执行程序,目前最主要的用途是定期备份数据

  • 软件包名:cronie、crontabs

  • 服务名:crond

  • 日志文件:/var/log/cron

cron定义时间格式

*** * * * * 执行的命令**

分 时 日 月 周

分钟:从0到59之间的整数

小时:从0到23之间的整数

日期:从1到31之间的整数

月份:从1到12之间的整数

星期:0~6之间的整数,0代表周日

***** #每分,每时,每天,每月,每周

#分隔多个不连续的时间

- #指定连续时间范围

/ #指定执行任务的时间间隔

#软件包默认系统自动安装
[root@localhost ~]# rpm -q cronie
cronie-1.4.11-19.el7.x86_64 #服务默认随机自启
[root@localhost ~]# systemctl status crond #cron定义时间格式
* * * * * 执行的命令
分 时 日 月 周 分钟:从0到59之间的整数
小时:从0到23之间的整数
日期:从1到31之间的整数
月份:从1到12之间的整数
星期:0~6之间的整数,0代表周日 * #每分,每时,每天,每月,每周
, #分隔多个不连续的时间
- #指定连续时间范围
/ #指定执行任务的时间间隔 #每周5在上8点执行一个任务
00 8 * * 5 xx命令 #每天晚上23:30执行一个任务
30 23 * * * xx命令 #日期跟星期不能同时定义,发生矛盾(没有这么定义的!)
30 23 1 * 2 xx命令 #每月1号23:30分执行一个任务
30 23 1 * * xx命令 #每月1、3、5号23:30执行一个任务
30 23 1,3,5 * * xx命令 #每周1、3、5凌晨3点执行一个任务
00 3 * * 1,3,5 xx命令 #每月2-5号凌晨3:30分执行一个任务
30 3 2-5 * * xx命令 #每两小时执行一个任务
* */2 * * * xx命令 #每两分钟执行一个任务
*/2 * * * * xx命令
  • crontab:用于管理计划任务

  • crontab -e -u 用户名 #编写计划任务

  • crontab -l -u 用户名 #查看计划任务

  • crontab -r -u 用户名 #清楚计划任务

#每一分钟执行一个任务
[root@localhost ~]# crontab -e
*/1 * * * * date >> /opt/date.txt [root@localhost ~]# cat /opt/date.txt
2021年 05月 23日 星期日 17:30:02 CST #每周6凌晨3:30分备份/var/log/日志文件
[root@localhost ~]# crontab -e
30 3 * * 6 tar -czf `date +%F`-log.tar.gz /var/log/*.log #查看计划任务
[root@localhost ~]# crontab -l
30 3 * * 6 tar -czf `date +%F`-log.tar.gz /var/log/*.log #清除计划任务
[root@localhost ~]# crontab -r
[root@localhost ~]# crontab -l
no crontab for root

SELinux系统内核安全机制

  • Security-Enhanced Linux 美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系

  • 集成到Linux内核(2.6及以上)针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具

  • SELinux运行模式

  • enforcing #强制模式

  • permissive #宽松模式

  • disabled #禁用模式

  • SELinux运行模式切换

  • 查看当前运行模式:getenforce

  • 临时切换运行模式:setenforce 1|0 #1强制模式,0宽松模式

#查看当前运行模式
[root@localhost ~]# getenforce
Enforcing #默认为强制模式 #切换运行模式为宽松模式
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive #切换运行模式为强制模式
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing
  • SELinux配置文件:/etc/selinux/config
#永久修改运行模式
[root@localhost ~]# vim /etc/selinux/config
...
SELINUX=disabled

环境准备

#安装httpd与vsftpd服务
[root@localhost ~]# rpm -q httpd
httpd-2.4.6-88.el7.centos.x86_64
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-25.el7.x86_64 #启动服务
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl start vsftpd #查看运行状态
[root@localhost ~]# systemctl status httpd
[root@localhost ~]# systemctl status vsftpd #关闭防火墙
[root@localhost ~]# systemctl stop firewalld

常见协议及端口

  • http:超文本传输协议(明文协议) 默认端口:80 httpd默认走的http协议

  • https:安全的超文本传输协议 默认端口:443 加密网站

  • ftp:文件传输协议 默认端口:20(数据端口)21(命令端口****)

  • tftp:简单的文件传输协议 默认端口:69

  • DNS:域名解析协议 默认端口:53

  • ssh:远程连接协议 默认端口:22

  • telnet:远程管理协议 默认端口:23

  • smtp:用户发邮件协议 默认端口:25

  • pop3:用户收邮件协议 默认端口:110

  • /etc/services 文件记录协议及端口信息

安全防护firewalld防火墙

  • 防火墙分为硬件防火墙和软件防火墙

  • 系统服务:firewalld,CentOS7系统默认使用的防火墙,CentOS6系统默认使用的防火强iptables

  • 防火墙:匹配即停止

  • 管理工具:firewalld-cmd

  • 防火墙预设安全区域

  • public:仅允许访问本机的sshd、DHCP、ping等少量服务

  • trusted:允许任何访问

  • 单独允许某一个IP 是写入trust

  • block:拒绝任何来访请求

  • drop:丢弃任何来访的数据包

#开启防火墙
[root@localhost ~]# systemctl start firewalld #查看默认区域
[root@localhost ~]# firewall-cmd --get-default-zone
public #修改默认区域
firewall-cmd --set-default-zone=区域名 #将默认区域修改为block
[root@localhost ~]# firewall-cmd --set-default-zone=block
success [root@localhost ~]# firewall-cmd --get-default-zone
block #将默认区域修改为dorp
[root@localhost ~]# firewall-cmd --set-default-zone=drop
success [root@localhost ~]# firewall-cmd --get-default-zone
drop #将默认区域修改为public
[root@localhost ~]# firewall-cmd --set-default-zone=public
success
[root@localhost ~]# firewall-cmd --get-default-zone
public #查看区域规则
firewall-cmd --zone=区域名 --list-all #查看public所有规则
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default #默认区域
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client #允许访问的服务
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: #为public区域添加http协议,使用 --add-service=服务名
[root@localhost ~]# firewall-cmd --zone=public --add-service=http
success
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client http #添加http协议
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: #为public添加ftp协议
[root@localhost ~]# firewall-cmd --zone=public --add-service=ftp
success
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client http ftp #添加ftp协议
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

封网段开服务

#若针对永久配置需添加 --permanent
#使用 -- add-source=网段地址 #为public区域永久添加http协议
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client http ftp
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: #为public区域永久添加ftp协议
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=ftp
success
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client http ftp
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: #永久修改需重新加载防火墙配置
firewall-cmd --reload
[root@localhost ~]# firewall-cmd --reload
success #单独拒绝某一个IP
[root@localhost ~]# firewall-cmd --zone=block --add-source=192.168.0.24
success
[root@localhost ~]# firewall-cmd --zone=block --list-all
block (active)
target: %%REJECT%%
icmp-block-inversion: no
interfaces:
sources: 192.168.0.24
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: #删除规则:--remove-source #删除block区域的指定IP
[root@localhost ~]# firewall-cmd --zone=block --remove-source=192.168.0.24
success
[root@localhost ~]# firewall-cmd --zone=block --list-all
block #删除public区域的ftp协议
[root@localhost ~]# firewall-cmd --zone=public --remove-service=ftp
success
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client http
  • 防火墙端口映射
  • 本地应用的端口重定向(端口1 > 端口2)从客户机访问 端口1 的请求,自动映射到本机端口2
#当有人访问5432端口时,映射到本机的80端口
[root@localhost ~]# firewall-cmd --zone=public --add-forward-port=port=5432:proto=tcp:toport=80
success
#命令解释:
--add--forward #添加转发端口
port=port=5432 #指定转发的端口
proto=tcp #指定tcp协议
toport=80 #指定目标端口 [root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens32
sources:
services: ssh dhcpv6-client http
ports:
protocols:
masquerade: no
forward-ports: port=5432:proto=tcp:toport=80:toaddr=
source-ports:
icmp-blocks:
rich rules:

RHCE_DAY05的更多相关文章

随机推荐

  1. Java常见面试题 非常实用【个人经验】

    必收藏的Java面试题 目录 Java 面试题 一.容器部分 二.多线程部分 三.SpringMvc部分 四.Mybatis部分 五.MySQL部分 六.Redis部分 七.RabbitMQ部分 八. ...

  2. 10、linux启动过程

    (1)linux启动说明: 第一步:开机自检,检查硬件,加载BIOS(帮我们找到启动盘是谁): 第二步:读取MBR(读取启动硬盘0柱面0磁道1扇区(512字节)的前446字节,找到装有操作系统的分区) ...

  3. 20、高可用数据同步工具drbd介绍

    20.1.什么是drbd: 20.2.drbd的工作原理: 20.3.drbd的同步模式: 1.实时同步模式: 2.异步同步模式: 20.4.drbd生产应用场景: 1.生产场景中drbd常用于基于高 ...

  4. Hadoop:什么是Hadoop??

    官方讲解: Apache Hadoop 为可靠的,可扩展的分布式计算开发开源软件.Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据). ...

  5. idea中快捷键的设置

    IDEA快捷方式改成eclipse的 File -> Settings -> Keymap 这里选Eclipse 然后Applay 即可: 快速生成main方法设置以及System.out ...

  6. 桌面Linux系统的先驱者慕尼黑现在正在考虑切换回Windows

    From: http://arstechnica.com/business/2014/08/linux-on-the-desktop-pioneer-munich-now-considering-a- ...

  7. create-react-app 入门学习

    全局安装 create-react-app npm install create-react-app -g 创建项目 在全局安装了create-react-app 后 创建项目,如果按照下面的第一种办 ...

  8. ARTS第三周

    第三周.上周欠下了 赶紧补上,糟糕了 还有第四篇也得加紧了 难受. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至 ...

  9. GO系列-ioutil包

    ioutil包提供给外部使用的一共有1个变量,7个方法. // Discard 是一个 io.Writer 接口,调用它的 Write 方法将不做任何事情 // 并且始终成功返回. var Disca ...

  10. 「HEOI2016/TJOI2016」排序

    「HEOI2016/TJOI2016」排序 题目大意 给定一个 \(1\) 到 \(n\) 的排列,每次可以对这个序列的一个区间进行升序/降序排序,求所有操作后第 \(q\) 个位置上的数字. 题解 ...