linux下例行任务(crontab,at)及facl学习

linux下例行任务执行:

at:交互式指定命令执行,执行结果发送邮件

格式:  at HH::MM 时下次到达HH::MM时运行程序

at now+ #[minutes|hours|days|weeks]

at [noon|midnight|teatime]

at month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)

atq,at -l 查看at执行队列

atrm,at -d 删除at队列中指定任务

at -f  file  读取file作为命令文件

batch 自动在系统资源空闲时执行

at命令通过Ctrl+d提交后台执行,执行结果发送给root用户邮件

用户能否执行at命令需查看/etc/at.allow,查看是否允许该用户执行,若无该文件则查看/etc/at.deny查看是否阻止该文件执行

mail:发送邮件

mail USERNAME[@HOSTNAME]

-s “SUBJECT”指定邮件主题

[[email protected] ~]# echo"Hello world" | mail -s "test mail 1" admin

crontab:

crontab依赖于后台服务 service crond status

cron配置文件:

系统cron:/etc/crontab

用户cron:/var/spool/cron/USERNAME

[[email protected] ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 -23)

# |  |  .---------- day of month (1 - 31)

# |  |  | .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  | |  .---- day of week (0 - 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  | |  |

# *  *  * *  *  command to be executed

定义命令应使用绝对路径

*表示不受限制  */#  每#时间一次

*/7 * * * * 并不能做到精确7分钟一次,只能通过脚本控制420s一次来实现

* * * * 1-5  周一到周五执行

* * * * 2,4  每周24执行

结果发送给相关用户邮件,不显示邮件可使用输出重定向解决

Command> /dev/null

用户crontab 命令:

-l 列出已经定义好的所有任务

-e 打开cron编辑器,增加或删改任务,不推荐直接使用vim

-r 移除所有任务

管理员可以 crontab –u admin –e  管理员给admin创建任务

anacron为cron补充,防止关机情况下未执行任务

facl必须文件系统启用才能使用

facl  :FILEACL  将自己的文件的访问权限授予他人

查看文件facl情况:

getfacl FILE…

setfacl –m 目标:权限 FILE…            setfacl –x  目标:权限 FILE  取消权限   -R递归

目标  用户 u:USERNAME

组   g:GROUPNAME

权限:rwx

启用facl后属性权限查找为属组->属主facl -> 属组->属组facl->other

Test:

2、每周一到周六的凌晨3点20分,运行cp命令对/etc/目录进行归档另存,存储位置为/backups/etc-YYYY-MM-DD;

20 3 * * 1-6 /usr/bin/cp /etc/ /backup/etc-"date +%F"

3、每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;

30 2 * * 7  /usr/bin/cp /etc/fstab /backup/fstab-"date +%F-%H-%M-%S"

4、每天晚上12点,取得/proc/meminfo文件中所有以S或M开头的行,追加至/statistics/meminfo.txt文件中,且每天的消息之前,要加上类似===============分隔线;

0 0 * * * /usr/bin/egrep "^[S|M].*" /proc/meminfo >>/statistics/meminfo.txt

0 1 * * * /usr/bin/echo "=================="  >>/statistics/meminfo.txt

时间: 2024-11-05 17:00:47

linux下例行任务(crontab,at)及facl学习的相关文章

Linux下的定时任务Crontab

通过crontab -e写入定时任务的指令,一行为一项任务. 任务模式是时间克龙表达式+命令形式. 如: 2 0,6,12,18 * * * perl /root/restarttomcat.pl perl之前的部分依次为2分 0点6点12点18点 任意日 任意月 任意周 perl /root/restarttomcat.pl 合起来为命令 这条任务告诉系统在每天0:02 6:02 12:02和18:02 执行命令perl /root/restarttomcat.pl 通过VI书写完这个任务,然

Linux下设置定期执行脚本

下面针对的是非ubuntu环境,会在文章末尾介绍ubuntu的一些区别. 在Linux下,经常需要定期的执行一些脚本从而来实现一些功能. 在Linux下我们用crontab来实现定期的执行脚本这个功能,下面就介绍一下crontab的使用.以及我遇到的一些问题 一. crontab的使用说明 1. crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.而linux任

linux下crond调度

编辑 /var/spool/cron/root文件 基本格式 :* * * * * command分 时 日 月 周 命令 1.每分钟执行一次 * * * * * 2.每隔一小时执行一次 0 * * * * or * */1 * * * (/表示频率) 3.每小时的15和30分各执行一次 15,45 * * * * (,表示并列) 4.在每天上午 8- 11时中间每小时 15 ,45分各执行一次 15,45 8-11 * * * command (-表示范围) 5.每个星期一的上午8点到11点的

Linux下的编程实战【转】

一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台的),进程控制与进程通信编程 1.Linux进程 Linux进程在内存中包含三部分数据:代码段.堆栈段和数据段.代码段存放了程序的代码.代码段可以为机器中运行同一程序的数个 进程共享.堆栈段存放的是子程序(函数)的返回地址.子程序的参数及程序的局部变量.而数据段则存放程序的全局变量.常数以及动态数

linux下如何使用自己的库函数

******转自别人的,保存下,以备日后需要************* 在Linux下如何使用自己的库函数 近日学习了Linux下的库函数,结合网上得到的资料和自己体会,做成以下参考资料 一 使用库必要性 提高代码重用性. 二  库的种类: 1 静态库 一般以*.a命名. 程序编译时被加载,此后,只要程序不被重新编译,静态库就没有作用了(可以删掉). 由于静态库的代码在编译过程中已经被载入可执行程序,因此体积较大,如果有多个应用程序都用了同一个静态库,在存放可执行程序的硬盘中就会有这个静态库的多

20145239 Linux下常用的ls命令总结

20145239 Linux下常用的ls命令总结 通过学习本周的教学视频和要求掌握的内容,发现ls命令被使用的次数非常多,但作为一个初学者,可能我只会ls或者顶多ls -l两种用法.但其实ls是一个非常实用的指令,因此我想简单的总结一下ls的常用命令. ls,英文全名:list 即列表的意思. 常用命令(以本周的10io文件夹为例): 1. ls -a 列出文件下所有的文件,包括以"."开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录). 2. ls

Linux下的C编程实战

Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来, Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux.RTLinux.ARM-Linux等等. 在嵌入式操作系统方面,Linux的地位是不容怀疑的,它开源.它包含TCP/IP协议栈.它易集成GUI. 鉴于Linux操作系统在服务器和嵌入式系统领

一起来学linux:例行性任务之at和crontab

p { margin-bottom: 0.25cm; line-height: 120% } 对于我们日常生活来说,有很多例行需要进行的工作,比如每天早上起床一杯水,例如家人的生日,每天的起床时间等.这性例行的工作有可能被遗忘,但是如果我们用计算机来进行提醒的话,则方便很多.这里就要介绍到Linux 下的例行工作命令:at和crontab. (一)首先来介绍at: 在有些Linux系统上at并没有启动.如果要启动需要执行如下的命令: /etc/init.d/atd restart 正在停止 at

Linux下的crontab定时执行任务命令详解

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 servi