Linux学习记录(三):Linux定时计划和开机启动项

crontab定时计划

定时计划我们采用crontab指令即可,下面给大家讲解下用法

crontab [-u username] [-l|-e|-r]

参数:

  • -u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;

  • -e: 编辑crontab 的工作内容;

  • -l: 查阅crontab的工作内容;

  • -r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。

范例一:用dmtsai的身份在每天的12:00发信给自己

1
crontab -e

建立任务
1
0 12 * * * mail dmtsai -s "at 12:00" < /home/dmtsai/.bashrc

代表意义 分钟 小时 日期 月份 命令
数字范围 0~59 0~23 1~31 1~12 0~7 就命令啊

周的数字为0或7时,都代表“星期天”的意思。另外,还有一些辅助的字符,大概有下面这些:

特殊字符 代表意义
*(星号) 代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号) 代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command时间还是有五列,不过第二列是 3,6 ,代表3与6都适用
-(减号) 代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:20 8-12 * * * command仔细看到第二列变成8-12代表8,9,10,11,12 都适用的意思
/n(斜线) 那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:*/5 * * * * command*/5来搭配,也可以写成0-59/5,意思相同为当前用户创建cron服务

1.键入 crontab -e 编辑crontab服务文件

例如文件内容如下:

1
*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh

保存文件并并退出
1
*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh

*/2 * * * *通过这段字段可以设定什么时候执行脚本
/bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行 脚本的命令 后面一段时指脚本存放的路径

2.查看该用户下的crontab服务是否创建成功

crontab -l 命令

3.启动crontab服务

一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意下不同版本linux系统启动的服务的命令也不同 ,像我的虚拟机里只需用 sudo service cron restart 即可,若是在根用下直接键入service cron start就能启动服务

4.查看服务是否已经运行

ps -ax | grep cron

5.开启/关闭定时任务

fileclear.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
tamcdir=${HOME}/ora/user_projects/domains/tamc
cd ${tamcdir}
echo rm -f `ls heapdump*.phd`
rm -f heapdump*.phd
echo rm -f `ls javacore*.txt`
rm -f javacore*.txt
echo rm -f `ls Snap*.trc`
rm -f Snap*.trc
cd bin
echo cp /dev/null nuhup.out
cp /dev/null nuhup.out
cd ${tamcdir}/pxbak
echo rm -rf `ls 20*`
rm -rf 20*
cd ${tamcdir}/webapps/tamcx/fileLoad
echo rm -f `find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1`
find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm -f {} \;

task.crontab

1
2
#web服务端日志、临时文件清理
10 1 * * * ksh $HOME/tools/clearweblogic.sh >>/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log 2>>/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log

task.null.crontab是一个没有内容的空文件

开启定时任务

1
crontab /weblogic/tools/task.crontab

停止定时任务
1
crontab /weblogic/tools/task.null.crontab



----------本文结束感谢您的阅读----------
0%