linux笔记


322笔记

基础服务管理

防火墙

firewalld

查看默认使用的区域信息
firewall-cmd --get-default-zone
public

查看所有的可用区域名字
[rootlocalhost ~~14:49:27]#firewall-cmd --get-zones
block dmz drop external home internal public trusted work

列出当前使用的区域配置,以及详细信息
[rootlocalhost ~~14:52:19]#firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	
[rootlocalhost ~~14:52:37]#

列出所有区域的配置信息
[rootlocalhost ~~14:52:37]#firewall-cmd --list-all-zoens

在public区域下,临时允许http服务通过防火墙

firewall-cmd --add-service=http

让他永久生效

firewall-cmd --permanent --add-service=http

指定查看home区域下的具体规则以及查看public区域下的具体规则

firewall-cmd --zone=home --list-all

在public区域下临时放行某端口的流量和删除端口

sshd 端口号默认为:22

mysql 端口号默认为:3306

nginx 端口号默认为:80

firewall-cmd --add-port=端口号 如:80  8000/tcp
删除它
firewall-cmd  --remove-port=删除的端口号 如:80  8000/tcp

关闭firewalld服务,清空防火墙所有规则,再禁止firewalld开机自启

systemctl stop firewalld
iptables -F
systemctl disbale firewalld

计划定时任务

crontab命令

crontab 

定时任务的默认存放路径 /var/spool/cron


-l 列出当前用户有哪些计划任务
-e  编辑当前用户的计划任务
-r 删除当前用户的计划任务
-u 指定用户

上图分别带表
 *   *   *   *   *
 分  时  日  月  周
 叙述定时任务的语法   日期和星期几不能同时使用

分 时 日 月 周

 解释如下特殊符号
 *  表示取值范围中的一个数字

 -  做连续区间表达式的,想要表示1~5 则可以写成1-5

 /  表示每多少个  例如:想每 5 分钟一次,则可以在分的位置写:*/5

 , 表示多个取值,比如想在 3 点,5 点 8 点执行,则可以在时的位置写:3,5,8 这是凌晨的
                                                             15,17,20
                                               
意思如下
 */1 * * * * /bin/sh  /scripts/data.sh   

每隔一分钟, 执行

 30 3,12 * * *  /bin/sh  /scripts/data.sh 

12号3点30分执行

 30 */6 * * *    /bin/sh  /scripts/data.sh   

每6小时30分

 30 8-18/2  * * * /bin/sh  /scripts/data.sh 

早8点到晚18点 每隔2小时的30分执行

 30 21 * * *  /opt/nginx/sbin/nginx -s reload 

21点30分执行

让定时任务无信息输出

 &>  /dev/null

定时任务的黑白名单

/etc/cron.deny  这为黑名单

/etc/cron.allow 这为白名单,白名单的优先级高于黑名单,就算用户被加入到黑名单中,加入白名单也一样可以使用定时任务


出现以下情况就是用户被进入到黑名单中了
crontab -e
You (yuchao01) are not allowed to use this program (crontab)
See crontab(1) for more information
tail -f /文件的路径
这样可以实时查看定时任务的内容

黑洞文件

/dev/null 
crontab -e

每分钟向tmp目录下的aini.txt文件内写入 you love 字样

后续添加firewall命令参数

--reload 重新加载firewalld服务

--get-services 查询支持的所以服务名字

--list-services 查询当前区域的所有服务有哪些

定时任务,服务端的运行日志,可以用于给运维,进行故障排查

/var/log/cron

最后,定时任务,crontab会在系统中,生成大量的邮件日志,会占用磁盘,因此我们都会关闭邮件服务即可

 find / -type f  -name 'post*.service'
/usr/lib/systemd/system/postfix.service


systemctl服务管理命令
 systemctl list-units |grep post
postfix.service                                                                                                  loaded active running   Postfix Mail Transport Agent


systemctl status postfix

systemctl stop postfix

禁止开机自启
systemctl disable postfix