Linux定时任务:每小时自动执行你所需的操作 (linux 每小时执行)

在Linux系统中,有一种非常方便的工具——定时任务,它可以帮助我们自动执行一些需要重复执行的操作。而其中的每小时定时任务,可以帮助我们快速、准确地完成某些操作,提高工作效率。下面将介绍如何在Linux系统中设置每小时定时任务。

Step 1:了解crontab

Linux中使用的是crontab来管理定时任务。crontab是一个命令,可以让我们在规定时间内执行命令或者脚本。通过设置合适的时间,我们可以让计算机定时自动执行我们需要执行的脚本或命令。

Step 2:打开终端

在Linux系统中,打开终端输入命令行“ crontab -e ”即可进入crontab编辑器的环境。

Step 3:设置每小时定时任务

在crontab编辑器的界面中,我们需要在下方的空白处添加以下内容:

0 * * * * /yourcommand

“0”表示定时任务执行的分钟数,这里我们设置为“0”,表示每小时整点执行命令;“*”表示月份、星期等时间单位,这里我们设置为“*”,表示每个月、每个星期都执行;“/yourcommand”表示需要执行的命令或脚本。

这里以备份系统的数据库为例,设置每个小时自动备份:

0 * * * * /usr/bin/mysqldump -uroot -p123456 –all-databases > /backup/mysql/`date +%Y%m%d%H%M%S`.sql

每个小时都会执行上述脚本,将当前系统的所有数据库备份至/backup/mysql目录下,并以当前年月日时分秒为文件名保存。

我们也可以将上述命令写入shell脚本文件中,将文件名作为命令进行定时执行。

Step 4:保存并退出

在crontab编辑器中,保存更改并退出,请按下Ctrl+o键,然后再按回车(Enter)键。为防止误操作,编辑器还会提示你再次确认是否保存更改,请输入“Y”后,并再次按下回车键即可完成保存退出。

要验证定时任务是否正确执行,可以登录到系统后台,查看/backup/mysql目录下是否有备份文件生成,如果有则表示定时任务已经成功执行。

通过定时任务,我们可以快速、方便地实现自动执行某些操作,省去了人工操作的时间,同时也避免了出错的可能性。需要注意的是,在设置每小时定时任务时,定时任务需要与系统运行的其他任务区别开来,避免出现冲突或占用过多系统资源。

相关问题拓展阅读:

linux下编写定时任务crontab

linux下槐腔的crontab服务:

1、crontab 是用来让使用者在固定时间或固定间隔执行程序之用

在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。

以某一频率执行任务

linux缺省会启动crond进程,crond进程不需要用户启动、关闭。

crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度

配置文件

中。

cron的调度文件有以下几个:

1. crontab

2. cron.d

3. cron.daily

4. cron.hourly

5. cron.monthly

6. cron.weekly

如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab 或cron.d目录中。

示例:

每隔一分钟执行一次脚本 /opt/bin/test-cron

.sh

可以在cron.d新建脚本 echo-date.sh

内容为

*/1 * * * * root /opt/bin/test-cron.sh

2、cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,如果它不自动起来,可以用以下的方法启动、关闭这个服务:

/in/service crond start //启动服务

/in/service crond stop //关闭服务

/in/service crond restart //重启服务

/in/service crond reload //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:

在/etc/rc.d/rc.local这个脚本的末尾加上:

/in/service crond start

现在Cron这个服务已经在进程里面了,我们就可以用这个服务了

查看服务是否已经运行用 ps -ax | grep cron

3、crontab命令

查看该用户下的crontab服务是否创建成功, 用 crontab -l 命令

命令 which php 查看linux下安装的php的路径

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

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

任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此 任务调度命令。crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

crontab命令选项:

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

4、cron文件语法:

分 小时 日月星期 命令

command (取值范围,0表示周日一般一行对应一个任务)

5、 新增调度任务

新增调度任务可用两种方法:

1)、在

命令行

输入: crontab -e 然后添加相应的任务,wq存盘退出。

2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

6、 查看调度任务铅哪衫

crontab -l //列出当前的所有调度任务

crontab -l -u jp //列出用户jp的所有调度任务

7、 删除任务调度工作

crontab -r //删除所有任务调度工作

8、 任务调度执行结果的转向

例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中

* * * ls >/jp/test 2>&1

注:2>&1 表示执行结果及错误信息。

SHELL=/bin/bash

  PATH=/in:/bin:/usr/in:/usr/bin

  MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

  HOME=/ //使用者运行的路径,这里是

根目录

  # run-parts

* * * * root run-parts /etc/cron.hourly//每小时执行/etc/cron.hourly内的脚本

* * * root run-parts /etc/cron.daily//每天执行/etc/cron.daily内的脚本

* *root run-parts /etc/cron.weekly//每星期执行 /etc/cron.weekly内的脚本

* * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

  大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写::要运行的某个脚本名,而不是文件夹名了。

总结:

编写定时任务的两种方式:1.sudo vim /etc/crontab 2. sudo crontab -e

查看定时任务的两种方式:1.sudo cat /etc/crontab 2.sudo crontab -l

*/1 * * * * appuser cd /app/webserver/website/api-cb.chuchujie.com/master/current/script/ && ./back_coupon.sh 2 10 >> /dev/null 2>&1

查看定时任务是否运行:

sudo tail -f /var/log/cron //定时任务日志(查看刚才设置的任务是否执行)

注:脚本有可执行权限

sh a.sh(不需要执行权限)

./sh (需要执行权限)

1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别的。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。

linux使用cron怎么设置定时任务

实现linux定时任务有:cron、anacron、at等,这里主要介绍cron服务。

名词解答世释:

cron是服务名腔李称,crond是后台进程,crontab则是定制好的计划任务表。

软件包安装:

要使用cron服务,先要安装vixie-cron软件包和crontabs软件包,两个软件包作用如下:

vixie-cron软件包是cron的主程序。

crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

查看是否安装了cron软件包: rpm -qa|grep vixie-cron

查看是否安装了crontabs软件包:rpm -qa|grep crontabs

如果没有安装,则执行如下命令安装软件包(软件包必须存在)

rpm -ivh vixie-cron-4.1-54.FC5*

rpm -ivh crontabs*

如果本地伍举迟没有安装包,在能够连网的情况下可以在线安装

yum install vixie-cron

yum install crontabs

确定设置crontab的用户,举例用root执行:

crontab -e

进入编辑模式:

00 * * * 执行命令

表示每天00点00分执行命令一次

其他时间设置:

每五分钟执行 */5 * * * *

每小时执行* * * *

每天执行* * *

每周执行* * 0

每月执行* *

每年执行 *

crontab详解:

1.作用

使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。

2.格式

crontab {-l | -r | -e}

3.主要参数

-e:执行文字编辑器来设定时程表,内空的文字编辑器是vi

-r:删除目前的时程表

-l列出目前的时程表。

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三个环境变量。

使用cron服务,用server crond status查看cron服务状态,如果没有启动则service

crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或编辑需要定时执行的任务:

crontab –u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab –l //列出某个用户cron服务的详细内容

crontab –r //删除某个用户的cron服务

crontab –e //编辑某个用户的cron服务

crontab filename //以filename作为crontab的任务列表文件并载入

比如说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分自动重新启动。

crontab 文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要碰渣运行的时间

分钟(0-59)

小时(0-23)

日期(1-31)

月份(1-12)

星期几(0-6,其中0代表星期日,好像7也代表星期日)

第6个字段是一个要在适当时间执行的字符串。

例子:

#MIN HOUR DAYMONTH DAYOFWEEKCOMMAND

#每天早上6点10分

* * * date

#每两个小时

0 */2

* * * date

#晚上11点到早上8点之间每两个小时,早上8点

/2,* * * date

#每个月的4号和每个礼拜一到礼拜三的早上11点

*date

#1月1日早上4点

* date

补充:在使用crontab的时候笑携悄,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中隐槐环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

(1)先建一个文件crond.txt如下,每天早上5点36分重新启动

* * * reboot

(2)上传到/opt目录

(3)运行命令

crontab /opt/crond.txt

crontab –l

让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。

在Fedora和Redhat中,我们应该用:

/etc/rc.d/crond restart

如果让crond在开机时运行,应该改变其运行级别:

chkconfig –level 35

crond on

service crond status查看cron服务状态,如果没有启动则service

如何建立linux 时间同步 服务器

一、执行步骤:1.以root身份登录

2.查看系统时间(date)和系统bios时间(hwclock或/in/hwclock)

3.在/usr/in下,扰销樱斗雀使用命令 ntpdate 132.163.4.102 使系统时间和时间服务器时间同步.

4.将系统时间写入bios(hwclock -w)

5.再次查看系统时间和系统bios时间

6.以上工作仅是当前的时间同步,所以还需执行以下工作:

使用crontab -e 命令将每小时执行一次/usr/in/ntpdate 132.163.4.102;/in/hwclock -w;的任务加入到任务管理器。

假如以下内容:0 1 * * * /usr/in/ntpdate 132.163.4.102;/in/hwclock -w;

二、加入计划任务:

1.使用以下命令编辑任务管理器

crontab -e

2.将以下语句加入到任务管理器中,其用途是:每小时执行一次/usr/in/ntpdate 132.163.4.102;/in/hwclock -w;

注:执行任务计划的时间随机订

之上是总结,按之上步骤来即可,以下参考就行:

先进入到路径:

/usr/in/下

使用其中的同步工具ntpdate,同步的时间服务器为:asia.pool.ntp.org

使用方法:

./ntpdate asia.pool.ntp.org

标缓丛准时间同步方法:

分布操作:

察看bios时间与系统时间

hwclock

察看系统时间

date

使用ntpdate命令使系统时间与时间服务器同步

ntpdate ntp1.nl.net

将系统时间写入bios

hwclock -w

三、解决办法使用:

1.使用以下命令编辑任务管理器

关于linux 每小时执行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux定时任务:每小时自动执行你所需的操作 (linux 每小时执行)