linux 建立一个一次性计划任务:3小时以后关闭系统;
作者&投稿:於委 (若有异议请与网页底部的电邮联系)
楼主请参照下面脚本
changlox@changlox ~/test$ source test.sh
changlox@changlox ~/test$ cat test.sh
#!/bin/bash
check_timeout()
{
local old_time=$(date +%s)
while [ "$(date +%s)" -lt "$((old_time+$1))" ]; do
:
done
echo timeout
sudo poweroff
}
changlox@changlox ~/test$ echo testing && check_timeout 10800 &
提供个思路,先用at设定在3天后执行任务a,然后任务a里是将每8小时执行任务b的要求写入crondtab,任务b中设定先读取文件,看是否达到8次,达到了则删除自己,没有达到则执行任务在执行结束后写入某个文件来计数。
说一下几个关键点,at可能需要安装,并且你要确定atd进程已经启动,并且这个设定at的功能也可以通过单独脚本实现
删除自己则可以使用rm -f $0 实现
写入crondtab可以根据用户和系统不同文件位置不同,如centos7的root用户在/var/spool/cron/root,修改该文件可以使用sed -i或者awk等实现。
以上是bash脚本实现思路
如果写一个python当守护进程也可以实现过程类似。
changlox@changlox ~/test$ source test.sh
changlox@changlox ~/test$ cat test.sh
#!/bin/bash
check_timeout()
{
local old_time=$(date +%s)
while [ "$(date +%s)" -lt "$((old_time+$1))" ]; do
:
done
echo timeout
sudo poweroff
}
changlox@changlox ~/test$ echo testing && check_timeout 10800 &
crontab -e , 把你的日期,时间全部填上去,这样就只会执行一次。
建立一个一次性计划任务:3小时以后关闭系统;
[root@zhangsan ~]# service atd start
[root@zhangsan ~]# chkconfig --level 35 atd on
[root@zhangsan ~]# at now +3hours
at> shutdown -h now
at> <EOT>(ctrl+d)
job 1 at 2012-04-15 19:51
atq 查看
atrm 删除
简单一点
# crontab -e
20 17 * * * roo /sbin/init 6
就可以了,没必要这么麻烦吧。。。。
#!perl -w;
sleep 3*60*60;
system("halt");
貊彪咳喘: 建立一个一次性计划任务:3小时以后关闭系统;[root@zhangsan ~]# service atd start [root@zhangsan ~]# chkconfig --level 35 atd on [root@zhangsan ~]# at now +3hours at> shutdown -h now at> <EOT>(ctrl+d) job 1 at 2012-04-15 19:51 atq 查看 atrm 删除
大新县13753536048: linux at怎么编写计划任务 - ?
貊彪咳喘: Linux中的计划任务(一次性定时计划任务)的at命令的用法1.命令格式:at[参数][时间]2.命令功能:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启...
大新县13753536048: linux下怎么来利用crontab实现计划任务非常有用 - ?
貊彪咳喘: 1、编辑计划任务 crontab -e 编辑计划任务,其实就是编辑一个计划任务的文件,一行一个计划任务.每行的格式如下:# m h dom mon dow command m:minute 分钟 (0-59)h:hour 小时 (0-23)dom:日 (1-31)mon:month 月 (1-12)dow:...
大新县13753536048: LINUX中写一个计划任务:1分钟输出一次系统当前时间 追加到一个文件里. - ?
貊彪咳喘: 执行crontab -e添加如下信息 */1 * * * * echo $(date) >> /path/filename以上希望帮到你. 注:需要系统定时服务启动.
大新县13753536048: Linux系统怎么用crontab创建计划任务 - ?
貊彪咳喘: crontab设置完毕不会立即执行里面的任务 你想下,如果立即执行 我的服务器crontab有N条 改一次就执行一次全部 机器会奔溃的
大新县13753536048: Linux下怎么建立任务计划,shell文件是做什么的?以什么为后缀,前两者之间有什么关系 - ?
貊彪咳喘: linux下建立任务计划可以用at,crontab,或者直接在脚本里写一个循环.shell是命令解释器,用来进行人机互动用的.比如人发出一个...
大新县13753536048: linux里面制定计划任务语句crontab?
貊彪咳喘: 从你设置好后,系统就开始准备了,直到满足条件后,执行命令,你的是每隔3天(从你设置好的时候,到第3天后的这个时候),执行关机
大新县13753536048: 如何设置linux 的计划任务??
貊彪咳喘: 执行cron任务:具体如下 比如当前为root用户 #crontab -e 进入后文件格式如下 分 时 日 月 周 执行命令 比如 0 24 * * * init 0 *代表每 比如 每月 这行的意思是 每月的每天的24点 执行init 0 关机任务 文件写完后:wq保存 #crontab -l 查看任务列表
大新县13753536048: linux怎么作个自动重启的计划任务 - ?
貊彪咳喘: 1、crontab命令的功能是在一定的时间间隔调度一些命令的执行,它可以完成定时任务.1.1 Crontab语法 usage: crontab [-u user] filecrontab [-u user] [ -e | -l | -r ](default operation is replace, per 1003.2)-e (edit user's crontab) //编写任务-l (list ...
大新县13753536048: Linux计划任务每半小时访问一个网址 - ?
貊彪咳喘: 首先要安装zhcon软件包,然后就可以使用lynx访问网页了,比如:lynx www.baidu.com 任务设置:1、crontab -e进入任务编辑界面2、编辑任务内容30 * * * * lynx www.baidu.com3、启动定时任务 service crond start