linux 临时文件夹设置,linux下的定时任务及临时文件

1 at 定时任务的建立,查询,删除

[root@foundation21 ~]#at now+3min《建立》

at> touch /temp/file

at>

job 2 at Sun Nov  2 14:10:00 2014

[root@foundation21 ~]#atq《查看》

2Sun Nov  2 14:10:00 2014 a root

[root@foundation21 ~]#at -l《查看》

2Sun Nov  2 14:10:00 2014 a root

[root@foundation21 ~]#at now+5min

at> touch /temp/file2

at>

job 3 at Sun Nov  2 14:12:00 2014

[root@foundation21 ~]#at -l

2Sun Nov  2 14:10:00 2014 a root

3Sun Nov  2 14:12:00 2014 a root

[root@foundation21 ~]#atrm 3《删除》

[root@foundation21 ~]# at -l

2Sun Nov  2 14:10:00 2014 a root

[root@foundation21 ~]# at  14:55 2016-06-18  《时间格式》

2 crontab 命令

(1)命令行的方式

[root@foundation21 ~]#crontab -e

45 22 * * * /usr/bin/touch   /temp/file{1..10}    #分钟 小时  天  月  周   命令   动作

通过下面的命令可以查看crontab所创建的定时任务存储文件

0ab95f383a86166b84f51c0a4a439744.png

[root@foundation21 ~]#crontab -l###查看设定的定时任务

*/1 * * * * /temp/bai

下图为crontab的使用方法

34be1520ee28858f0fb3fcf94edd6f03.png

7b55283bb03df0e65f10acd043464e91.png

[root@foundation21 ~]#crontab -r###删除定时任务

You have mail in /var/spool/mail/root

(2)通过写文件的方式

[root@foundation21 ~]# cd /etc/cron.

cron.d/       cron.daily/   cron.hourly/  cron.monthly/ cron.weekly/

cron.d 中的文件,每分钟都会被扫描一次

cron.daily  目录里的文件,放的是每天执行一次的任务

[root@foundation21 cron.d]# pwd

/etc/cron.d

[root@foundation21 cron.d]# cat mycron

*/1 * * * * root /temp/bai###需要在该文件中写出时间、用户、命令(注意权限)

* echo  > /var/spool/mail/root

清空邮箱

必要时需要重启cron服务systemctl restart crond.service

3 crontab 中的黑名单和白名单

默认是所有用户都可以执行crontab

(1)黑名单

[root@foundation21 ~]# cat/etc/cron.deny###在该文件中加入不可用crontab用户

student

[student@foundation21 ~]$ crontab -e《可以看到student已经不能使用crontab了》

You (student) are not allowed to use this program (crontab)

See crontab(1) for more information

(2)白名单

没有白名单文件的话就自己建立一个就好

[root@foundation21 ~]# ls /etc/cron.allow

ls: cannot access /etc/cron.allow: No such file or directory

[root@foundation21 ~]# vim /etc/cron.allow

[root@foundation21 ~]# cat /etc/cron.allow

student

[root@foundation21 ~]# logout

[student@foundation21 ~]$ crontab -e

no crontab forstudent- using an empty one

crontab: no changes made to crontab

《如果有白名单系统会忽略黑名单,因为系统只允许少数人执行,也就是说白名单的优先级高于黑名单》

4 系统的临时文件的原理

在linux操作系统中,管理系统临时文件的配置文件,都放在/usr/lib/tmpfiles.d/下面。

(1)写一个管理自己临时文件的配置文件

[root@foundation21 tmpfiles.d]# cat tmpfile

d /temp/tmpfile2755studentstudent30s

注释:d代表创建一个用来放临时文件的目录,x代表普通文件

/temp/tmpfile  目录的名字

2755目录的权限, 2是SGID

studentstudent 目录的用户和组

30s每30s清理一次

[root@foundation21 tmpfiles.d]# pwd

/usr/lib/tmpfiles.d

[root@foundation21 tmpfiles.d]# ls

abrt.conf                 lvm2.conf            spice-vdagentd.conf

tmpfilemdadm.conf           subscription-manager.conf

gvfsd-fuse-tmpfiles.conf  pam.conf             systemd.conf

httpd.conf                ppp.conf             systemd-nologin.conf

initscripts.conf          rpm.conf             tmp.conf

iscsi.conf                samba.conf           x11.conf

legacy.conf               saslauthd.conf

libselinux.conf           selinux-policy.conf

(2)使自己的配置文件生效

[root@foundation21 tmpfiles.d]# systemd-tmpfiles --createtmpfile

结果就是

9375eef63e4d77f5afdd0c919bfd02b3.png

(3)你可以在刚创建的目录tmpfile里面创建文件

ff23bd00ba37c7f8ab9cf11495e3a3c0.png

(4)删除临时文件

第一种方法是:rm -rf file

第二种方法是:30s之后执行(这个是配置文件中指定的)

f7897357583cae1a0a5833bbf93747ae.png

如果你在30s内执行这个命令的话,由于文件的创建时间不够30s,所以会什么都不执行,如果创建时间足够30s,则如上图,创建的文件都会被清空。

第三种方法是:写crontab定时任务。

就是把systemd-tmpfiles --clean /usr/lib/tmpfiles.d/tmpfile这个命令写在有关例行性文件里面。这也是软件正常清理临时文件的方式。

《安装一个软件,或者做某件事的时候,这个过程中肯定会生成自己的临时文件目录,最后会把临时文件的目录删除,或者定期清理临时文件目录》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值