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

您所在的位置:网站首页 用计划任务设置自动关机 Linux 定时关机 crontab 定时执行任务

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

2024-07-13 20:50| 来源: 网络整理| 查看: 265

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 -u user -e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。          执行命令crontab -u user -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 指定运行时间

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3