一.系统的延时任务和定时任务
1.系统的延时任务
[root@foundation37 Desktop]# at 09:50 #设定任务的执行时间
at> touch /home/kiosk/Desktop/rsydd{1..9} #设定任务的内容
at> <EOT> #ctrl+d发起任务
job 2 at Mon Jan 21 09:50:00 2019
[root@foundation37 Desktop]# at -l #查看任务列表
3 Sun Jan 20 10:00:00 2019 a root #多个任务可以同时等待被执行
4 Sun Jan 20 10:01:00 2019 a root
at -c 任务号 #查看任务的内容
at -r 任务号 #取消任务的执行,取消要在执行时间之前
当任务有输出时,输出会以邮件的形式发送给at任务的执行者
[root@foundation37 ~]# at 10:36
at> echo hello
at> <EOT>
job 7 at Sun Jan 20 10:36:00 2019
[root@foundation37 ~]# at -l
7 Sun Jan 20 10:36:00 2019 a root
[root@foundation37 ~]# at now+1min
at> echo hello
at> <EOT>
job 13 at Sun Jan 20 10:40:00 2019
You have mail in /var/spool/mail/root
[root@foundation37 ~]# mail -u root #查看root邮件
Messgae 2: #查看第二封邮件
按q退出
系统中的其他用户,也可以通过at来发起定时任务
[root@foundation37 Desktop]# su - kiosk
Last login: Sun Jan 20 08:51:31 CST 2019 on :0
[kiosk@foundation37 ~]$ at 10.30
at> touch file
at> <EOT>
job 5 at Sun Jan 20 10:30:00 2019
[kiosk@foundation37 ~]$ at 10:31
at> touch /root/file #但是在任务的发起中一定要注意:不同用户的权限问题
at> <EOT>
job 6 at Sun Jan 20 10:31:00 2019
at任务的黑白名单
黑名单,系统中原本存在
/etc/at.deny #此文件中出现的用户不能执行at命令
[root@foundation37 ~]# ll /etc/at.deny
-rw-r--r--. 1 root root 1 May 23 2016 /etc/at.deny
[root@foundation37 ~]# vim /etc/at.deny
[root@foundation37 ~]# cat /etc/at.deny
kiosk
[root@foundation37 ~]# su - kiosk
Last login: Sun Jan 20 10:24:29 CST 2019 on pts/4
[kiosk@foundation37 ~]$ at 10.35
You do not have permission to use at. #kiosk用户被禁止使用at
白名单,系统中原本不存在
/etc/at.allow
但凡文件出现,只有名单内的用户可以使用at,其他普通用户不能使用,root用户不受影响
二.系统的定时任务
crontab -e #root用户的定时任务
格式:
分钟 小时 天 月 周
* * * * * #每分钟
*/2 * * * * #每两分钟
*/2 09-17 * * * #早9-晚5,每两分钟
*/2 09-17 * 3,5 5 #3月和5月每周5 早上9点到下午5点每两分钟
*/2 09-17 * * 5 #每周五的早上9点到下午5点,每两分钟
crontab -e #root用户的定时任务
[root@foundation37 mail]# crontab -e #root用户的定时任务
no crontab for root - using an empty one
crontab: installing new crontab
[root@foundation37 mail]# crontab -l -u root #查看root用户的crontab任务
* * * * * touch /mnt/file{1..5}
[root@foundation37 mail]# crontab -r -u root #删除root用户的crontab
[root@foundation37 mail]# crontab -l -u root #列出root用户的crontab任务
no crontab for root
root让普通用户kiosk执行定时服务
[root@foundation37 mail]# crontab -e -u kiosk #root让普通用户kiosk执行定时服务
no crontab for kiosk - using an empty one
crontab: installing new crontab
[root@foundation37 mail]# crontab -e #root为空
no crontab for root - using an empty one
crontab: installing new crontab
[root@foundation37 mail]# crontab -e -u kiosk #student有信息
crontab: installing new crontab
[root@foundation37 mail]# crontab -l -u kiosk
* * * * * touch /mnt/file
以文件的方式设定定时任务
cd /etc/cron.d
vim test(文件名任意)
* * * * * username action
非交互式以文件设定
通过管理输出,导入到上面的文件中(多在脚本中实现)
[root@foundation37 cron.d]# echo "* * * * * root rm -rf /mnt/*"
* * * * * root rm -rf /mnt/*
[root@foundation37 cron.d]# echo "* * * * * root rm -rf /mnt/*">/etc/cron.d/test
[root@foundation37 cron.d]# cat /etc/cron.d/test
* * * * * root rm -rf /mnt/*
在文件以文件的方式设定crontab任务时,使用crontab -l 是看不到内容的
因为/etc/cron.d只对超级用户可写
[root@foundation37 cron.d]# ll /etc/cron.d
-rw-r--r--. 1 root root 29 Jan 20 11:41 test
crontab的黑名单
/etc/crontab.deny
系统中默认存在,在此文件中出现的用户不能执行crontab
crontab的白名单
/etc/crontab.allow
系统中默认不存在,当文件创建出时,只有名单内的普通用户可以使用crontab,其他普通用户不能执行,只有在名单内的用户可以使用crontab
三.系统临时文件的管理方式
[root@foundation37 cron.d]# cd /usr/lib/tmpfiles.d/
[root@foundation37 tmpfiles.d]# vim test.conf #任意建立一个.conf结尾的文件
[root@foundation37 tmpfiles.d]# cat test.conf
d /mnt/test 777 root root 5s
类型 要建立的目录 权限 拥有者 所属组 临时存在的时间
目录
测试:
[root@foundation37 test]# systemd-tmpfiles --creat /usr/lib/tmpfiles.d/ * #读取里面所有的文件并且按照规则去建立目录
[root@foundation37 test]# cd /mnt/test
[root@foundation37 test]# ls
[root@foundation37 test]# touch file
[root@foundation37 test]# ll
total 0
-rw-r--r--. 1 root root 0 Jan 20 12:00 file
[root@foundation37 test]# systemd-tmpfiles --creat /usr/lib/tmpfiles.d/ *
#按照规则清理目录中的文件
三.netstat
netstat:用于列出系统上所有的网络套接字连接情况,包括tcp和udp
netstat -a 列出所有当前连接
-t 列出tcp协议的连接
-u 列出udp协议的连接
-n 不使用域名解析,只显示ip
-l 列出正在监听的套接字
-p 获取进程名,进程号以及用户ID