Linux系统利用Crontab命令实现定时重启
Linux系统利用Crontab命令实现定时重启Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序
使用cron服务,用service crond status 查看cron服务状态,如果没有启动则service crond start启动它,
cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。
需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上
service crond start
如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。
比如:service mysqld start
基本用法:
1. crontab -l
列出当前的crontab任务
2. crontab -d
删除当前的crontab任务
3. crontab -e (solaris5.8上面是crontab -r)
编辑一个crontab任务,ctrl_D结束
4. crontab filename
以filename做为crontab的任务列表文件并载入
crontab file的格式:
crontab 文件中的行由 6 个字段组成,不同字段间用空格或tab 键分隔。
前 5 个字段指定命令要运行的时间
分钟(0-59)
小时(0-23)
日期(1-31)
月份(1-12)
星期几(0-6,其中0 代表星期日)
第 6 个字段是一个要在适当时间执行的字符串
例子:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date (solaris 5.8似乎不支持此种写法)
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)
(1)先建一个文件crond.txt如下,每天早上5点36分重新启动
36 5 * * * reboot
(2)上传到/opt目录
(3)运行命令
crontab /opt/crond.txt
crontab -l
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。
也要重新启动cron服务器。
在Fedora 和Redhat中,我们应该用;
[root@localhost ~]# /etc/init.d/crond restart
如果让crond 在开机时运行,应该改变其运行级别;
[root@localhost ~]# chkconfig --levels 35 crond on
service crond status 查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务
Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、command)组成,域之间用空格或Tab分开,其中:
minutes:分钟域,值的范围是0到59
hours:小时域,值的范围是0到23
day of month:日期,值的范围是1到31
month:月份,值的范围是1到12
day of week:星期,值的范围是0到6,星期日值为0
command:所要运行的命令
如果一个域是*,表明命令可以在该域所有可能的取值范围内执行。
如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字本身)。
如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。
如果日期域和星期域都有值,则这两个域都有效。
编写一个文件,用以启动自动备份进程。
cd /opt
touch reboot.txt
在reboot.txt中添加一下内容:
0 4 * * * reboot
crontab /opt/reboot.txt
用crontab -e编辑定时操作,例如加入下行命令:
用crontab -l命令来查看
注意:需要启动服务(添加在rc.local中)
重启crond任务
/etc/init.d/cron restart (ubuntu下)
第一种在Fedora或Redhat 等以RPM包管理的系统中;
[root@localhost ~]# /etc/init.d/crond start
[root@localhost ~]# /etc/init.d/crond stop
[root@localhost ~]# /etc/init.d/crond restart
/etc/rc.d/init.d/crond restart
命令简介
crontab-操作每个用户的守护程序和该执行的时间表。
部分参数说明
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。
下面是一个例子文件:。
如何使用crontab命令在Linux中设置定时任务
如何使用crontab命令在Linux中设置定时任务在Linux中设置定时任务是一项非常重要的技能,它可以帮助我们自动化重复性的任务,提高工作效率。
而crontab命令是Linux系统中用来管理定时任务的工具。
本文将介绍如何使用crontab命令来设置定时任务。
一、什么是crontab命令Crontab(Cron Table)是Linux系统中用来管理定时任务的工具,它允许用户在指定的时间自动执行特定的命令或脚本。
Crontab命令是由cron守护进程控制的,该守护进程会在指定的时间间隔内检查用户的crontab文件,并执行相应的任务。
二、创建和编辑crontab文件要创建和编辑crontab文件,可以使用以下命令:```crontab -e```这个命令会打开一个文本编辑器,你可以在其中添加或修改定时任务。
三、crontab文件的格式crontab文件中每一行代表一个定时任务,格式如下:分时日月周命令```其中,分表示分钟,时表示小时,日表示日期,月表示月份,周表示星期。
命令是要执行的命令或脚本。
每个字段可以是一个具体的数值,也可以是一个用逗号分隔的数值列表,或者是一个数值范围。
四、设置定时任务的示例以下是一些使用crontab命令设置定时任务的示例:1. 每天晚上8点执行一个命令:```0 20 * * * command```2. 每隔5分钟执行一个命令:```*/5 * * * * command```3. 每个月的1号凌晨3点执行一个命令:```0 3 1 * * command4. 每周一到周五的上午9点执行一个命令:```0 9 * * 1-5 command```五、常用的时间单位符号在crontab文件中,我们可以使用一些特殊的时间单位符号,如下所示:- *:代表所有值,比如在分钟字段中使用 * 表示每分钟都执行。
- */n:表示每隔n个单位执行一次,比如在小时字段中使用 */2 表示每隔两个小时执行一次。
Centos7下利用crontab定时执行任务详解
Centos7下利⽤crontab定时执⾏任务详解前⾔cron服务是Linux的内置服务,但它不会开机⾃动启动。
可以⽤以下命令启动和停⽌服务:/sbin/service crond start/sbin/service crond stop/sbin/service crond restart/sbin/service crond reload以上1-4⾏分别为启动、停⽌、重启服务和重新加载配置。
要把cron设为在开机的时候⾃动启动,在 /etc/rc.d/rc.local 脚本中加⼊ /sbin/service crond start 即可查看当前⽤户的crontab,输⼊crontab -l;编辑crontab,输⼊crontab -e;删除crontab,输⼊crontab -r添加任务crontab -e0 */1 * * * command0 */2 * * * command查询任务是否加了:crontab -l -u root #查看root⽤户0 */1 * * * command0 */2 * * * command基本格式 :* * * * * command分 时 ⽇ ⽉ 周 命令第1列表⽰分钟1~59 每分钟⽤*或者 */1表⽰第2列表⽰⼩时1~23(0表⽰0点)第3列表⽰⽇期1~31第4列表⽰⽉份1~12第5列标识号星期0~6(0表⽰星期天)第6列要运⾏的命令crontab⽂件的⼀些例⼦:30 21 * * * /usr/local/etc/rc.d/lighttpd restart上⾯的例⼦表⽰每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart上⾯的例⼦表⽰每⽉1、10、22⽇的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart上⾯的例⼦表⽰每周六、周⽇的1 : 10重启apache。
Linux系统重启脚本使用Shell脚本实现对Linux系统的定时重启和自动恢复
Linux系统重启脚本使用Shell脚本实现对Linux系统的定时重启和自动恢复Linux系统是一种广泛使用的操作系统,它在服务器和嵌入式设备中得到了广泛应用。
在实际运行过程中,为了确保系统的正常运行和稳定性,定时重启和自动恢复是必不可少的功能。
本文将介绍如何使用Shell脚本来实现对Linux系统的定时重启和自动恢复。
实施定时重启功能的第一步是创建一个Shell脚本。
通过使用Linux 的定时任务工具cron,我们可以在指定的时间自动运行这个脚本。
打开终端,输入以下命令创建一个新的脚本文件:```shell$ sudo nano restart.sh```接下来,我们需要编写重启脚本的内容。
在脚本中,我们将使用`shutdown`命令来实现重启功能。
以下是一个示例脚本:```shell#!/bin/bashshutdown -r now```保存并关闭文件。
接下来,我们需要为脚本添加执行权限:```shell$ sudo chmod +x restart.sh```现在,我们可以使用cron来设置定时任务。
通过运行以下命令,我们可以编辑当前用户的cron表:```shell$ crontab -e```在cron表中,每行代表一个定时任务。
按下`i`键进入编辑模式,然后添加以下行来设置每天重启的时间:```30 2 * * * /path/to/restart.sh```这样,每天的凌晨2点30分,系统将自动重启。
修改完成后,按下`Esc`键,然后输入`:wq`保存并退出。
现在,我们已经完成了定时重启功能的设置。
从现在起,系统将在指定时间自动执行重启。
另外,为了确保系统在重启后能够自动恢复到之前的状态,我们还可以编写一个自动恢复脚本。
该脚本将在系统重启后自动运行,并执行一系列操作以将系统恢复到正常状态。
继续使用前面创建的`restart.sh`脚本,我们可以在其中添加自动恢复的操作。
以下是一个示例脚本:```shell#!/bin/bash# 这里是自动恢复的操作```在具体的自动恢复操作中,您可以根据实际需求执行需要的命令和操作,比如恢复数据库、重启服务等。
LinuxCentOS使用crontab设置定时重启的方法
LinuxCentOS使⽤crontab设置定时重启的⽅法本篇介绍 crontab 设置定时任务,并且把 crontab 加⼊到开机⾃启动中。
1、配置⼀个每天⾃动重启的功能:如果⽀持crontab 可直接 crontab -l 查看⽬前已有的定时任务如果当前的linux不⽀持crontab 则需要进⾏配置:#安装Crontabyum install vixie-cron crontabs#设置开机启动Crontabchkconfig crond on#启动Crontabservice crond start先列⼀下现有的Crontab看看:crontab -l提⽰为 no crontab for root啥也没有,那就添加⼀条吧:编辑命令:crontab –e按 i 进⼊编辑模式,输⼊30 15 * * * root /sbin/reboot表⽰每天下午15:30分重启设备。
按ESC 进⼊命令模式,输⼊:wq 保存退出。
最后重启crontab,使重启功能⽣效service crond restart完事收⼯!补充:Crontab基本格式:* * * * * command分 时 ⽇ ⽉ 周 命令第1列表⽰分钟1~59 每分钟⽤或者 /1表⽰第2列表⽰⼩时1~23(0表⽰0点)第3列表⽰⽇期1~31第4列表⽰⽉份1~12第5列标识号星期0~6(0表⽰星期天)第6列要运⾏的命令linux使⽤crontab命令定时重启服务器服务器不重启的情况下定时⾃动重启apache及mysql服务,其实也⼤同⼩异。
具体步骤如下:⼀、每天的12点及16点重启apache及mysql服务[root@www bin]# cd /opt/[root@www opt]# vim reboot.txt在reboot.txt.txt⽂件中输⼊下⾯的内容后保存0 12 * * * service httpd restart0 12 * * * service mysqld restart0 16 * * * service httpd restart0 16 * * * service mysqld restart⼆、把新建的⽂件加⼊到cron服务中[root@www opt]# crontab reboot.txt[root@www opt]# crontab -l0 12 * * * service httpd restart0 12 * * * service mysqld restart0 16 * * * service httpd restart0 16 * * * service mysqld restart三、重启cron服务[root@www opt]# /sbin/service crond restart补充说明:cron是⼀个linux下的定时执⾏⼯具,可以在⽆需⼈⼯⼲预的情况下运⾏作业。
Linux下实现秒级定时任务的两种方案(crontab每秒运行)
Linux下实现秒级定时任务的两种方案( crontab每秒运行)
第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间。 while true ;do
command
sleep XX //间隔秒数
done
第二种方案,使用crontab。 我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次。 以下方法将每20秒执行一次 crontab -e * * * * * /bin/date * * * * * sleep 20; /bin/date * * * * * sleep 40; /bin/date 说明:需要将/bin/date更换成你的命令即可
这种做法去处理隔几十秒的定时任务还好,要是每1秒运行一次就得添加60条记录。。。
如何设置电脑定时重启
如何设置电脑定时重启电脑在长时间运作后,有时会出现性能下降、软件卡顿或系统崩溃的情况。
为了避免这种情况的发生,定时重启电脑是一个有效的方法。
本文将介绍如何设置电脑定时重启,以保持电脑的良好运行状态。
一、Windows系统下的定时重启设置Windows系统提供了简单的方法来设置电脑定时重启。
按照以下步骤进行操作:1. 打开“开始”菜单,点击“运行”,或者按下“Win + R”组合键,在弹出的对话框中输入“Task Scheduler”以打开任务计划程序。
2. 在左侧面板中,点击“创建基本任务”,进入任务创建向导。
3. 在任务向导的第一个页面上,输入任务的名称和描述,然后点击“下一步”。
4. 选择触发器,这里选择“每天”或者“每周”来设定定时重启的频率和时间。
点击“下一步”。
5. 选择“启动程序”作为操作类型。
然后点击“下一步”。
6. 在“程序/脚本”框中,输入“shutdown.exe”,在“添加参数”框中输入“-r”,表示重启。
然后点击“下一步”。
7. 在任务的最后一个页面上,确认任务的设置,点击“完成”来创建任务。
现在,你的电脑将会在设定的时间自动重启。
你可以通过任务计划程序来修改或删除该任务。
二、macOS系统下的定时重启设置对于macOS系统,你可以使用终端命令来设置电脑定时重启。
按照以下步骤进行操作:1. 打开“应用程序”文件夹,在“实用工具”文件夹中找到“终端”并打开。
2. 在终端中输入以下命令:sudo shutdown -r +60这个命令将在60分钟后重启你的电脑。
你可以根据需要修改“+60”来设定不同的时间,单位为分钟。
3. 按下“Enter”键执行命令。
系统将提示你输入管理员密码,输入密码后按下“Enter”键。
4. 终端将显示一个定时器和重启的倒计时,直到电脑自动重启。
如果你希望取消定时重启,可以使用以下命令:sudo shutdown -c这个命令将取消之前的定时任务。
三、Linux系统下的定时重启设置对于Linux系统,你可以使用cron来设置电脑定时重启。
Linux终端命令实例教程使用cron命令定时执行任务
Linux终端命令实例教程使用cron命令定时执行任务Linux终端命令实例教程:使用cron命令定时执行任务Linux终端是系统管理员和开发人员常用的工具之一,通过终端可以直接与操作系统进行交互,执行各种任务。
其中,cron命令是Linux 系统中用于定时执行任务的命令。
本文将为您详细介绍及实例演示如何使用cron命令来定时执行任务。
1. 什么是cron命令?cron命令是一种在Linux系统中用于定时执行任务的工具,它可以根据用户预先设定的时间规则,在后台自动运行指定的命令或脚本。
cron命令通常被用来执行系统维护任务、定期备份文件、更新数据库等自动化操作。
2. cron命令的语法和选项在使用cron命令之前,先来了解一下其基本的语法和常用选项:```crontab [选项] [文件]```常用选项:- -e:编辑当前用户的定时任务计划;- -l:显示当前用户的定时任务计划;- -r:删除当前用户的定时任务计划。
3. 编写cron任务计划要在Linux系统中使用cron命令,首先需要编辑用户的定时任务计划。
可以通过以下命令编辑当前用户的定时任务计划文件:```crontab -e```执行以上命令后,会打开一个文本编辑器,在其中输入任务计划。
每行一个任务计划,任务计划的格式如下:```分钟小时日月周命令```其中,每个字段的含义如下:- 分钟(0-59):表示每小时的第几分钟执行任务;- 小时(0-23):表示每天的第几个小时执行任务;- 日(1-31):表示每月的第几天执行任务;- 月(1-12):表示每年的第几个月执行任务;- 周(0-7):表示每周的第几天执行任务,0和7都表示星期天。
4. 实例演示:定时备份文件假设我们需要每天凌晨1点执行一次文件备份任务,备份的文件夹为`/data`,目标备份文件夹为`/backup`。
以下是一个实现此功能的cron任务计划:```0 1 * * * cp -r /data /backup/$(date +\%Y\%m\%d)```解析:- `0 1 * * *`表示每天凌晨1点执行任务;- `cp -r /data /backup/$(date +\%Y\%m\%d)`表示执行备份命令,将`/data`文件夹复制到`/backup`文件夹下,并以当前日期命名备份文件夹。
在Linux终端中使用cron定时执行任务
在Linux终端中使用cron定时执行任务Linux操作系统提供了一种强大的工具,即cron,它允许用户在指定的时间间隔内自动执行任务。
使用cron,可以轻松地实现定时备份文件、更新系统、执行脚本等操作。
一、了解cronCron是一种用于定时运行命令或脚本的工具,它在后台运行,并根据预先设置的时间表执行任务。
在Linux终端中,可以通过编辑crontab文件来管理cron的任务列表。
二、编辑crontab文件要编辑crontab文件,可以使用以下命令:```crontab -e```这将打开一个文本编辑器,显示当前用户的cron表。
每一行代表一个计划任务,由时间表达式和要执行的命令组成。
三、时间表达式cron使用时间表达式来定义任务的执行时间。
时间表达式由五个不同的字段组成,分别表示分钟、小时、日期、月份和星期。
这些字段使用空格或者通配符来表示。
- 星号(*)表示所有可能的值,例如在分钟字段中,*表示每分钟都执行。
在其他字段中,*表示所有可能的值。
- 逗号(,)用于分隔枚举值,例如"1,3,5"表示1、3和5。
- 减号(-)用于指定一个范围,例如"1-5"表示1到5。
- 正斜杠(/)用于指定间隔,例如"*/10"表示每10分钟。
- 除号(/)用于指定除法,例如"5/15"表示从第5分钟开始,每隔15分钟执行一次。
四、实例以下是一个示例crontab文件,展示了如何使用cron来定时执行任务:```# 每天凌晨3点备份文件0 3 * * * /usr/bin/backup.sh# 每小时更新系统0 * * * * /usr/bin/update.sh# 每周一清理日志文件0 0 * * 1 /usr/bin/clean_logs.sh```在上述示例中,每天凌晨3点备份文件的任务被安排在第一行。
通过指定执行时的分钟位为0,小时位为3,其余时间位使用星号代替,就可以实现在每天的3点运行任务。
Linux系统定时重启脚本
Linux系统定时重启脚本Linux是一种开源操作系统,广泛应用于服务器领域。
在运行服务器的过程中,有时我们需要定时重启系统以确保系统的稳定性和性能。
为了方便管理和操作,我们可以编写一个定时重启脚本来自动执行此任务。
以下是一个简单的Linux系统定时重启脚本示例:```bash#!/bin/bash# 重启时间设定(每天凌晨3点)reboot_hour=3reboot_minute=0# 获取当前时间current_hour=$(date +%H)current_minute=$(date +%M)# 计算距离下一次重启的时间间隔if [[ current_hour -eq reboot_hour ]]; thenif [[ current_minute -lt reboot_minute ]]; thenreboot_delay=$(( (reboot_minute - current_minute) * 60 ))fielsehour_diff=$(( reboot_hour - current_hour ))minute_diff=$(( reboot_minute - current_minute ))reboot_delay=$(( (hour_diff * 60 + minute_diff) * 60 ))fi# 等待时间间隔sleep $reboot_delay# 重启系统shutdown -r now```上述脚本首先设定了重启时间,这里以每天凌晨3点为例。
然后获取当前系统的时间,并计算距离下一次重启的时间间隔。
接着会根据时间间隔进行等待,到达指定时间后执行重启命令`shutdown -r now`来重启系统。
使用这个脚本,我们可以通过设置定时任务来实现自动定时重启。
可以使用`crontab`命令编辑定时任务列表,以下是一个示例:```bashsudo crontab -e```在打开的定时任务列表中,添加以下内容:```bash0 3 * * * /path/to/reboot_script.sh```这个定时任务会在每天凌晨3点执行`/path/to/reboot_script.sh`脚本,即我们之前编写的定时重启脚本。
Linux系统定时重启脚本编写
Linux系统定时重启脚本编写在Linux系统中,我们经常需要定时执行一些任务,比如定时重启系统。
而编写一个定时重启脚本可以提供一个简单、方便、自动化的解决方案。
本文将介绍如何编写一个Linux系统定时重启脚本,并提供一个可实际使用的范例。
1. 脚本文件的创建首先,在你喜欢的文本编辑器中创建一个新文件,文件名可以是"reboot.sh"。
为了方便,可以将该文件放在"/usr/local/bin/"目录下,以供全局使用。
2. 脚本文件的权限设置接下来,我们需要为脚本文件设置相应的执行权限。
在终端中输入以下命令:```chmod +x /usr/local/bin/reboot.sh```该命令将使脚本文件具有可执行权限。
3. 脚本文件的编写打开"reboot.sh"文件,开始编写脚本代码。
下面是一个示例:```bash#!/bin/bashecho "系统将在60秒后重启..."sleep 60reboot```在该示例中,我们使用了Bash脚本语言。
首先,我们输出一条重启系统的提示信息,然后等待60秒,最后执行"reboot"命令来实现系统重启。
4. 定时任务的设置编写完脚本文件后,我们需要设置一个定时任务来定期执行该脚本。
在终端中输入以下命令:```crontab -e```如果是第一次使用该命令,系统会要求选择一个文本编辑器进行编辑。
选择一个你熟悉的编辑器,并输入以下内容:```bash0 3 * * 1 /usr/local/bin/reboot.sh```该命令中的"0 3 * * 1"表示在每周一的凌晨3点执行脚本文件。
你可以根据自己的需求修改该命令,定制脚本的执行时间。
5. 保存并退出保存并退出文本编辑器,定时任务设置就完成了。
现在,你的Linux系统会在每周一的凌晨3点自动执行重启脚本,实现系统的定时重启。
