天天看点

linux总结(1)——crontab、nohup、chage

由于linux命令实在太多,还是需要常常在工作实践中来学习总结。因此专门弄出一块地方来总结工作中常用的linux命令。

crontab

该命令用来很方便地启动定时任务,任务通常是一个脚本文件。

格式: f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推。

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推。

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推。

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推。

例如,每小时的第30分钟执行某个脚本:  30 * * * * bash a.sh > a.sh.log  2 > &1

crontab -l列出当前用户的周期指令列表

crontab -e 默认使用vi来编辑当前用户的周期指令列

crontab -v列出用户crontab列表的状态

与该命令有关的文件

/etc/cron.deny 

该文件中所列的用户不允许使用Crontab命令 

/etc/cron.allow 

该文件中所列的用户允许使用Crontab命令 

/var/spool/cron/ 

是所有用户的crontab文件 

nohup

该命令用来忽略linux客户端工具的挂断信息,使任务继续在服务器上运行,通常是长时间任务。

nohup Command [ Arg ... ] [ & ]

Command通常是一个写好的脚本,Arg是可以传入Commend的参数列表,&用于后台执行,通常还配合重定向,将log日志写入指定位置,如下。实际上这个命令将程序作为守护进程了。

nohup bash a.sh > a.sh.log 2 > &1 &

chage

该命令用来查看、设置用户的密码过期天数等参数。今天早上发现昨晚有些crontab任务没有执行,机器上某些用户的crontab -l不能查看了。如下

linux总结(1)——crontab、nohup、chage

以前没有遇到过,后来发现昨晚刚好是qs用户密码过期了,一旦过期就不能再执行定时任务了,所以使用该命令来修改。

chage -l qs

查看qs用户的密码过期时间等信息

chage --help

查看设置信息,将-E设置为-1,就是永远不过期。

linux总结(1)——crontab、nohup、chage

例如

chage -m 0 -M -1 -W -1 -E -1 qs

继续阅读