1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux 定时关机 crontab 定时执行任务

Linux 定时关机 crontab 定时执行任务

时间:2020-05-01 09:10:17

相关推荐

Linux 定时关机 crontab 定时执行任务

1、Linux 定时关机

每星期日到星期五 晚22:25 关机

获得root权限

su - root crontab -e 输入i,进入编辑状态输入下述代码

SHELL=/bin/bash

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

25 22 * * 0-6 sync && shutdown -h now

55 22 * * 6 sync && shutdown -h now 每星期六 晚22:55 关机

2、linux下使用linux at命令定时关机。

首先创建一个文件,写入:

#!/bin/sh shutdown -h now

保存为power文件之后

chmod +x power 需要有root权限才能关机,

所以需要输入的命令如下:

sudo at 02:00 tomorrow -f power

之后使用

sudo atq 可以查选定时执行的任务

sudo atrm 可以删除已经预定好的任务。

3、Linux 马上关机命令

halt

init 0

shutdown -h now

4、Linux shutdown 命令详解各参数功能:

-c 取消前一个shutdown命令。

-f 重新启动时不执行fsck(注:fsck是Linux下的一个检查和修复文件系统的程序)。

-F 重新启动时执行fsck。

-h 将系统关机,在某种程度上功能与halt命令相当。

-k 只是送出信息给所有用户,但并不会真正关机。

-n 不调用init程序关机,而是由shutdown自己进行(一般关机程序是由shutdown调用init来实现关机动作),使用此参数将加快关机速度,但是不建议用户使用此种关机方式。 -t按秒延时关机 -r 关机之后重新启动系统。 now 表示立即执行,now=+0 -f<秒数> 送出警告信息和关机信号之间要延迟多少秒。警告信息将提醒用户保存当前进行的工作。 [时间] 设置多久时间后执行shutdown命令。时间参数有hh:mm或+m两种模式。hh:mm格式表示在几点几分执行shutdown命令。例如“shutdown 10:45”表示将在10:45执行shutdown。+m表示m分钟后执行shutdown。比较特别的用法是以now表示立即执行shutdown。值得注意的是这部分参数不能省略。

5、Linux shutdown

例子

定时关机

sudo shutdown -h 23:00 //表示在23点定时关机延时关机

sudo shutdown +minutes(这个加号不可省略,minutes表示分钟)比如: sudo shutdown -h +120 //两小时候关机

取消前一个关机命令按“Ctrl+C”键或输入命令:shutdown -c 运行15小时后自动关机shutdown -t 54000

本需求的提出是由 清海提出每隔15分钟定时执行某个java类,判断相关的菜的保质期是否过期 贤龙的对积分兑换的时间进行判断,如果时间超过了,则无法兑换,进行提示。 解决方案 [root@developserver ~]# crontab -e*/15* * * *java -jar /opt/StoreAutoAlarms_fat.jar

每15分钟执行一次命令 1、crontab file的格式:

crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间 分钟 (0-59) 小时 (0-23) 日期 (1-31) 月份 (1-12) 星期几(0-6,其中 0 代表星期日) 第 6 个字段是要在适当时间执行的字符串 记住几个特殊符号的含义: "*"代表取值范围内的数字,"/"代表"每","-"代表从某个数字到某个数字,","分开几个离散的数字

%在crontab中被认为是newline,要用\来escape才行。比如crontab执行行中,如果有"date +%Y%m%d",必须替换为:"date +\%Y\%m\%d"

创建crontab?

例子 5 * * * * ls 指定每小时的第5分钟执行一次ls命令 30 5 * * * ls 指定每天的 5:30 执行ls命令 30 7 8 * * ls 指定每月8号的7:30分执行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令 30 6 * * 0 ls 指定每星期日的6:30执行ls命令 30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令 25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令 */15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ] 每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件 50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ] 2、crontab常用的命令 2.1、新增调度任务 新增调度任务可用两种方法: 1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。 使用命令crontab-uuser-e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。

执行命令crontab-uuser-r即可删除当前用户的所有的cron作业。

作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。username使用户名,在相应的文件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。

crontab -e与vi /etc/crontab 的区别 1、crontab 会进行语法检查,vi 不会 2、crontab -e是某个用户的周期计划任务;

2.2、查看调度任务 crontab -l //列出当前的所有调度任务 crontab -l -u jp //列出用户jp的所有调度任务 2.3、删除任务调度工作 crontab -r //删除所有任务调度工作 2.4、任务调度执行结果的转向 例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中 30 5 * * * ls >/jp/test 2>&1 注:2>&1 表示执行结果及错误信息。 编辑/etc/crontab 文件配置cron cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/ //使用者运行的路径,这里是根目录 # run-parts 01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件 /sbin/service crond start //关闭服务 /sbin/service crond stop //重启服务 /sbin/service crond restart //重新载入配置 /sbin/service crond reload 你也可以将这个服务在系统启动的时候自动启动: 在/etc /rc.d/rc.local 这个脚本的末尾加上: /sbin/service crond start 控制 cron 的使用

/etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。 无论使用控制文件中的规定如何,根用户都总是可以使用 cron。 如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。 如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。

3、具体的应用 3.1定时关机 关机需要root的身份在可以执行,

定时关机有如下方法

换到root 的身份

su - root

crontab -e (按a增加下)

01 22 * * * /sbin/shutdown -h now (或01 22 * * * /sbin/init 0)

保存退出即可以 方法2 vi /etc/crontab 在里面插入

01 22 * * * root /sbin/shutdown -h now

或 01 22 * * * root /sbin/init 0 3.2mysql定时备份 以Linux下定时备份mysql为例说明下 写一个简单的mysql备份shell脚本 vi #!/bin/sh

da=`date +%Y%m%d%H%M%S`

mysqldump -u root -pdongjj --all-database>/root/mysqlbakup/$da 保存为 mysqlbak.sh 然后crontab-e 0 3 * * * /root/mysqlbak.sh 保存退出 注意:若crontab不执行脚本:

1、确定.sh文件有可执行的权限?

chmod 777 fileName.sh

chmod 777 -R fileName.sh

2、确保sh文件中用到的命令是绝对路径吗?

在指定的时间运行任务

也可以通过at命令来控制在指定的时间运行任务

如:

at -f test-cron.sh -v 10:25

其中-f 指定脚本文件, -v 指定运行时间

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。