LAH 笔记 cron

1. cron 周期行执行任务

2. 配置文件

系统任务配置在:/etc/crontab文件,/etc/cron.d目录,/etc/crontab是给系统管理员手动配置用的,/etc/cron.d是一些安装程序复制过来的。

/etc/crontab 利用命令 run-part 执行其他目录中的脚本,一般如:/etc/cron.hourly, /etc/cron.daily,/etc/cron.weekly, /etc/cron.monthly 。

下面是ubuntu 11.04下面的/etc/crontab 主要内容:

root 用户执行,anacron 功能类似 cron



用户自己特定的任务在:/var/spool/cron/crontabs/

不能直接编辑,需要通过crontab命令,查看自己的crontab用命令:crontab -l;编辑用 crontab -e

(具体man crontabq)


3. crontab的格式

1. #开头的是注释,必须定格写

2. 每一条记录格式:minute hour day month weekday [user name] command

可见最小的粒度是每一分钟

user name 不出现在/var/spool/cron中的配置文件中

时间字段的取值范围如下:

minute: 0-59

hour: 0-23

day:1-31

month: 1-12

weekday: 0-6

* 表示匹配所有;一个数字精确匹配;像2-5这样的表示匹配一个区间;像3,5,7表示匹配一个值的列表。

例子:

45 10 * * 1-5

10:45 a.m., Monday through Friday

0,30 * 13 * 5

every half-hour on Friday, or on 13th of the month

command 字段是需要执行的 sh command,不需要用引号

20 1 * * * find /tmp -atime +3 -exec rm -f {} ';'

4. crontab命令用于编辑、管理crontab,具体查看 LAH 8.3

crontab file-name 安装file-name 作为自己的crontab

crontab -e 编辑用户自己的crontab,编辑器由 EDITOR 环境变量指定

crontab -l 在标准输出上列出自己的 crontab

crontab -r 删除crontab,root用户可以删除指定用户的crontab:crontab -u user-name -r 

crontab 不带参数,从标准输入读取crontab;如果不小心进入此模式,此时Ctl+D会删除原来的crontab,因为没有输入,此时应该按Ctl+C结束,这样可以保留原来的 crontab


可以通过/etc/cron.deny和/etc/cron.allow编辑控制那些用户可以提交crontab。如果不存在这两个文件,默认情况下,多数系统只允许root用户提交crontab,debian和ubuntu允许所有用户提交。


5. cron 应用场景

清理文件

处理 log files


6. anacron 和 fcron

anacron 对 cron 做了一些功能上的补充,它可以制定执行周期,记录任务最近执行时间,任务排队等。

anacron 以天为单位执行,运行依赖于cron,cron可以以更小的时间间隔执行anacron。

fcron是为了替代cron而开发的,而不是作为补充。使用它之前需要斟酌。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# 连接到MySQL 数据库 conn = mysql.connector.connect( host='120.78.240.31', user='game', password='LmmaFmxZ7M7r7LAh', database='game', charset='utf8' ) cursor = conn.cursor() # 查询示例数据 cursor.execute('SELECT zs_library.id,zs_library.number, zs_library.zs_name,game.game_name,zs_library.txt_url,' 'zs_library.tupian_url1,zs_library.tupian_url2,zs_library.tupian_url3,zs_library.tupian_url4,' 'zs_library.tupian_url5,zs_library.tupian_url6,zs_library.tupian_url7,zs_library.tupian_url8,' 'zs_library.tupian_url9,zs_library.tupian_url10,zs_library.tupian_url11,zs_library.tupian_url12,' 'zs_library.tupian_url13,zs_library.tupian_url14,zs_library.tupian_url15,zs_library.tupian_url16,' 'zs_library.tupian_url17,zs_library.tupian_url18,zs_library.tupian_url19,zs_library.tupian_url20,' 'zs_library.dates FROM zs_library JOIN game ON ' 'zs_library.game_id = game.id WHERE zs_library.id=%s',(int(zs_library_id),)) items = cursor.fetchall() arr = [] arrsd = [] for k in range(0, len(items[0])): if k == 1 or k == 2 or k == 3 or k == 4: arr.append(items[0][k].decode("utf-8")) elif k == 5 or k == 6 or k == 7 or k == 8 or k == 9 or k == 10 or k == 11 or k == 12 or k == 13 or k == 14 or k == 15 or k == 16 or k == 17\ or k == 18 or k == 19 or k == 20 or k == 21 or k == 22 or k == 23 or k == 24: if items[0][k]: arrsd.append(items[0][k]) else: arrsd.append('') else: arr.append(items[0][k]) # 获取对应数据库的内容 with open(arr[4], "r", encoding="utf-8") as file: content = file.read() new_content = content.replace("\n\n", "<br><br>") return template("gameedit.html", number=number, items=arr,arrsd='_*'.join(arrsd), id=id,content=new_content)
最新发布
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值