firewalld与crond
firewalld防火墙
为什么需要防火墙
有了简单的防火墙之后,在数据传输的过程中就会接受"入关"检查,能通过的数据包才继续传输,不能通过的数据包则拒绝或者直接丢弃。
从上面的图中可以看出,防火墙至少需要两个网卡,其中一块控制流入数据包,另一块网卡控制流出数据包。
firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
添加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
信任级别,通过Zone的值指定
drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同上,范围针对所有互联网用户
trusted: 信任所有连接
定时任务crond
定时任务的作用是?
操作系统不可能24 小时都有人在操作,有些时候想在指定的时间点去执行任务此时不可能真有人每天夜里 2 点去执行命令,这就可以交给计划任务程序去执行操作了
crontab用法
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
时间分为5个部分-----分时日月周,事情就是命令或者脚本
*代表所有的取值范围内的数字
"/"代表每的意思,
"/5"表示每5个单位
"-"代表从某个数字到某个数字
","分开几个离散的数字
系统定时任务
系统定时任务主要和四个文件有关(cron.daily、cron.hourly、cron.monthly、cron.weekly)[都在/etc中]
系统会定时自动运行文件里面的内容
定时任务相关的文件
/var/spool/cron/ # 定时任务的配置文件所在目录
/var/log/cron # 定时任务的日志文件 运行过程的一个记录,无法显示运行的对不对
/etc/cron.deny # 哪些用户禁止使用定时任务 - 定时任务黑名单
/etc/cron.allow # 白名单优先级黑名单
练习
每周六、周日的下午1点和2点的每一分钟都执行
* 13-14 * * 6,7 /usr/bin/systemctl restart network
周一到周五的每天早上9点一直到下午6点的每一个整点(工作日的每个小时整点)
0 9-18 * * 1-5 /usr/bin/systemctl restart network
夜里1点到3点之间,每隔10分钟,起来吃点东西
*/10 1-3 * * *
每隔2个月的周六,夜里2点30 去见网友
30 2 * */2 6
工作日的工作时间内(一个早9晚9,996的程序员工作日)的每小时整点执行脚本。
0 9-21 * * 1-6
30 21 * * * /opt/nginx/sbin/nginx -s reload
每天晚上21.30 重启nginx
45 4 1,10 * * /bin/sh /scripts/data.sh
每月1号和10号 这两天的4点45分 执行data脚本
10 1 * * 6,0 /bin/sh /scripts/data.sh
周六 周日的1点10分 执行data脚本