1、crontab命令的功能是在一定的时间间隔调度一些命令的执行,它可以完成定时任务。
从网站建设到定制行业解决方案,为提供做网站、成都做网站服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联建站将不断加快创新步伐,提供优质的建站服务。
1.1 Crontab语法
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab) //编写任务
-l (list user's crontab) //查看任务
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。
1。2编辑一个计划任务:
#crontab -e //编辑机会任务
#每天早上6点10分
10 6 * * * restart
保存退出。
#crontab -l //查看机会任务
2、在linux系统里可以编写重启脚本,依靠守护进程执行自动任务。你需要完成的是,把你的守护进程的脚本在/etc/rc.d/init.d/目录下,例如:myrestart
vi /etc/rc.d/init.d/myrestart
#!/bin/bash
#This is restart daemon
# See how we were called.
case "$1" in
start)
su - root restart
fi
echo $"Usage: $0 {start}"
exit 2
esac
保存退出
改变文件权限
# chmod 755 /etc/init.d/myrestart
添加服务
# chkconfig --level 35 myrestart on
使用方法
# service myrestart start //重启
注意:我这里加了一个start的参数,避免误操作重启。你可以自行处理。
用户想要在linux开机的时候自启动相关的程序。那我们要怎么设置呢?下面由我为大家整理了linux下开机自启动命令的相关知识,希望对大家有所帮助!
linux下开机自启动命令
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。
例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。
扩展:其他情况下linux自启动程序命令
2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件。
4.定期自动运行程序
linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan * HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。 (/etc/crontab中配置命令即可)也可以
5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:
6.创建开机自启动脚本
1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令输出的信息参考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test
1、打开终端输入以下的命令$crontab -e。
2、进入选择editor,直接enter回车。
3、接着我们会进入如下的编辑窗口。
4、在后面我们填写如图所示。
5、然后我们“ctrl+x”进行保存,输入“Y”回车确定。
6、填写文件名,可以默认直接回车。
7、等一分后,我们发现用户目录多个123文件,打开里面时间日期,每分钟都会呢更新。
注意事项:
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。
是指完全关机之后吗
方法一:
要让你的计算机能够在每天固定的时间自动开机,必须保证你的主板BIOS支持定时开机。
大多数主板都是开机按Del键进入“CMOS Setup”,将光标移动到“Power Management Setup”(电源管理设置)上,按回车进入其子菜单,有一项“Resume By Alarm”(预设时间启动),如果你的CMOS中没有这个选项说明你的主板不支持这个功能,该选项可以设置系统每天开机时间或者某一固定的日期开机。它有两个选项“Enabled”和“Disabled”,选择“Enabled”后,下面的“Date(of month)”和“Resume Time(hh:mm:ss)”项就可以设置了。“Data(of month)”表示系统开机日期,如果选择0,就表示每天开机;如果选择“1~31”之间的数字,则表示每月固定在某一天开机。“Resume Time(hh:mm:ss)”表示系统开机时间。例如,我们把“Date(of month)”设成“0”,把“Resume Time(hh:mm:ss)”设成“06:00:00”,那么每天早晨6:00的时候,计算机就会自动加电启动了,不过一定要注意接通主机的电源
方法二:
现在大部分网卡都支持网络唤醒,在你的机器接上电源的状态下,
如果有长期不关机的linux服务器的话,可以在服务器的crontab 任务里 定期执行 一个 wake on lan 脚本 ,从而控制你想要定时开机linux机器。
从这里下载 wake on lan 别的地方也有,
你可以先手动试一下个脚本,我自己用过,