⑴ linux使用cron怎么设置定时任务
确定设置的用户,举例用root执行:crontab -e进入编辑模式:0000 * * * 执行命令 表示每天00点00分执行命令一次其他时间设置:每五分钟执行 */5 * * * *每小时执行 0 * * * *每天执行 0 0 * * *每周执行 0 0 * * 0每月执行 0 0 1 * *每年执行 0 0 1 1 *crontab详解:1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。 2.格式 crontab [-u user] {-l | -r | -e} 3.主要参数 -e:执行文字编辑器来设定时程表,内空的文字编辑器是vi -r:删除目前的时程表 -l列出目前的时程表。 Crontab文件的格式为”M H Dm 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服务状态,如果没有启动则servicecrond 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 DAY MONTH DAYOFWEEK COMMAND #每天早上6点10分 10 6 * * * date #每两个小时 0 */2 * * * date #晚上11点到早上8点之间每两个小时,早上8点 0 23-7/2,8 * * * date #每个月的4号和每个礼拜一到礼拜三的早上11点 0 11 4 * 1-3 date #1月1日早上4点 0 4 1 1 * 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中,我们应该用: /etc/rc.d/crond restart 如果让crond在开机时运行,应该改变其运行级别: chkconfig –level 35crond on service crond status查看cron服务状态,如果没有启动则servicecrond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务
⑵ linux 怎么开启一个定时任务
在linux系统中我来们可以修改定时执行源的文件实现定时计划,具体步骤如下。1、查看定时执行的文件:命令:“crontab -l”,如同ll或者ls一样,显示定时任务列表信息,然后查看定时任务详细信息,定时任务脚本前面的 * * * * *和数字意思解释如下:从左到右,依次是:分、时、日、月、星期。2、修改定时脚本里面的执行内容,并查看定时脚本执行内容。3、编辑定时执行计划。这个方式和修改文件类似。使用命令:"crontab -e" ,e表示edit修改的意思。4、修改脚本路径,脚本的具体执行时间等。如果是每隔10分钟执行一次命令是:“*/10 * * * * /脚本.sh”如果是早上8:30分执行,脚本是:"30 08 * * * /脚本.sh",如果以上内容没有解决你的问题,你可以到雷达下载上去看看,里面会有很多相关的资讯,可以很好的解决你的问题,我也是经常到里面去看一些资讯的。
⑶ linux系统中计划任务修改哪个配置
先转到你相应的用户下, su – username然后用crontab -e编辑 你需要的计划任务.格式: 分 时 日 月 星期 脚本名 中间有空格哦
⑷ linux 定时任务的方法有哪些
如果我们需要定时执行一些周期性重复性的任务,我们就会用到定时执行任务功能来帮我们自动执行每天、每周等周期性重复性的任务而不需要人为干预即可实现。我们通过crontab –e来创建自己的定时任务,下图中的5个*的含义是,第一个*是分,第二个*是小时,第三个*是日,第4个*是月,第5个*是周,第6列是命令,下图的意思是给所有人发警告信息Hello,每隔一分钟就发送一次Hello信息。我们可以通过crontab –l来查看当前的已创建的定时任务,可以发现当前有一个定时任务,通过crontab –r删除当前的定时任务,再次通过crontab –l去查看是否还有定时任务,发现已经成功删除了。进入/etc目录,查看首字母为cron的目录,cron*,*在这里是通配符,匹配任意个字符,通过查看/etc目录下所有与定时任务相关的目录和文件。通过cat crontab查看定时任务的故事,包括shell的位置、路径、默认邮件发给root账户、以及定时任务的格式,5个*的含义及第6列是写具体的命令。我们可以看看系统里面的定时任务,有每小时执行的cron.hourly、每日执行的cron.daily、每月执行的cron.monthly、每周执行的cron.weekly.我们通过命令ll cron.daily可以看到里面有很多可执行文件,这些都是系统每天自动执行的定时任务。我们可以把自己建立的定时文件放在系统已有的目录下,比如每天的定时任务放在cron.daily下面。系统常用的每天执行的定时任务,tmpwatch定时任务会去/tmp、/var/tmp临时目录下找超过10天的文件并删除,logrotate日志文件回滚,默认是一周回滚一次,1个月回滚4次,也就是日志只保存1个月,logwatch把当天最敏感的日志找出来形成一个电子邮件默认发给超级用户。
⑸ linux定时任务
linux定时任务使用crontab命令crontab命令说明crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。语法crontab(选项)(参数)选项-e:编辑该用户的计时器设置;-l:列出该用户的计时器设置;-r:删除该用户的计时器设置;-u<用户名称>:指定要设定计时器的用户名称。参数crontab文件:指定包含待执行任务的crontab文件。知识扩展Linux下的任务调度分为两类:系统任务调度和用户任务调度。系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。/etc/crontab文件包括下面几行:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=""HOME=/# run-parts51 * * * * root run-parts /etc/cron.hourly24 7 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly前四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录中。其文件名与用户名一致,使用者权限文件如下:/etc/cron.deny 该文件中所列用户不允许使用crontab命令/etc/cron.allow 该文件中所列用户允许使用crontab命令/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minute hour day month week command 顺序:分 时 日 月 周其中:minute: 表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。在以上各个字段中,还可以使用以下特殊字符:星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。crond服务/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置查看crontab服务状态:service crond status手动启动crontab服务:service crond start查看crontab服务是否已设置为开机启动,执行命令:ntsysv加入开机自动启动:chkconfig –level 35 crond on
⑹ Linux crontab怎么定时执行任务
linux下定时执行任务的方法 【非原创,个人网上收集整理了一下】在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。一、cron在3个地方查找配置文件:1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。二、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# .—————- minute (0 – 59)# | .————- hour (0 – 23)# | | .———- day of month (1 – 31)# | | | .——- month (1 – 12) OR jan,feb,mar,apr …# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR#sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * command to be executed三、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。四、权限crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在用法如下:1、如果两个文件都不存在,则只有root用户才能使用crontab命令。2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。AIX 中 普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.denyHP-UNIX 中默认普通用户没得crontab 权限 ,要想放开普通用户的crontab 权限可以编五、创建cron脚本第一步:写cron脚本文件,命名为crontest.cron。15,30,45,59 * * * * echo "xgmtest….." >> xgmtest.txt 表示,每隔15分钟,执行打印一次命令第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本六、cron服务cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置/sbin/service crond status //查看服务状态crontab用法crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:minute hour day-of-month month-of-year day-of-week commands合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。-l 在标准输出上显示当前的crontab。-r 删除当前的crontab文件。-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。几个例子:每天早上6点0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。每两个小时0 */2 * * * echo "Have a break now." >> /tmp/test.txt晚上11点到早上8点之间每两个小时和早上八点0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点0 11 4 * 1-3 command line1月1日早上4点0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/每小时执行/etc/cron.hourly内的脚本01 * * * * root run-parts /etc/cron.hourly每天执行/etc/cron.daily内的脚本02 4 * * * root run-parts /etc/cron.daily每星期执行/etc/cron.weekly内的脚本22 4 * * 0 root run-parts /etc/cron.weekly每月去执行/etc/cron.monthly内的脚本42 4 1 * * root run-parts /etc/cron.monthly注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。5,15,25,35,45,55 16,17,18 * * * command每周一,三,五的下午3:00系统进入维护状态,重新启动系统。00 15 * * 1,3,5 shutdown -r +5每小时的10分,40分执行用户目录下的innd/bbslin这个指令:10,40 * * * * innd/bbslink每小时的1分执行用户目录下的bin/account这个指令:1 * * * * bin/account每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txtat命令实现定时任务假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。at命令执行流程如下# at 2:05 tomorrowat>/home/kyle/do_jobat> Ctrl+DAT Time中的时间表示方法———————————————————————–时 间 例子 说明———————————————————————–Minute at now + 5 minutes 任务在5分钟后运行Hour at now + 1 hour 任务在1小时后运行Days at now + 3 days 任务在3天后运行Weeks at now + 2 weeks 任务在两周后运行Fixed at midnight 任务在午夜运行Fixed at 10:30pm 任务在晚上10点30分注意:linux默认为不启动,而ubuntu默认为启动的。检查是否启动,用service atd检查语法,用service atd status检查atd的状态,用service atd start启动atd服务。查看at执行的具体内容:一般位于/var/spool/at目录下面, 用vi打开,在最后一部分就是你的执行程序参数详解-V : 印出版本编号-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c… z 以及 A, B, … Z 共 52 个-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入网络应用-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)-v : 列出所有已经完成但尚未删除的指定删除任务atrm 2三天后的下午 5 点锺执行 /bin/ls :at 5pm 3 days /bin/ls三个星期后的下午 5 点锺执行 /bin/ls :at 5pm 2 weeks /bin/ls明天的 17:20 执行 /bin/date :at 17:20 tomorrow /bin/date1999 年的最后一天的最后一分钟印出 the end of world !at 23:59 12/31/1999 echo the end of world !顶2踩0
⑺ linux定时任务 每天下午4:00定时删除/tmp目录下所有不属于root的文件,如何写命令
crontab -e* 4 * * * /usr/bin/find /tmp ! -user root -type f -exec rm -rf {} \;
⑻ linux怎么设置定时任务
在linux系统中我们可以修改定时执行的文件实现定时计划,具体步骤如下。1、查看定时执行的文件:命令:“crontab -l”,如同ll或者ls一样,显示定时任务列表信息,然后查看定时任务详细信息,定时任务脚本前面的 * * * * *和数字意思解释如下:从左到右,依次是:分、时、日、月、星期。2、修改定时脚本里面的执行内容,并查看定时脚本执行内容。3、编辑定时执行计划。这个方式和修改文件类似。使用命令:"crontab -e" ,e表示edit修改的意思。
⑼ linux定时任务怎么实现:延时执行任务,然后进入一个定时执行任务,最后将任务删除
提供个思路,先用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当守护进程也可以实现过程类似。
未经允许不得转载:山九号 » linux定时任务替换文件|linux 定时任务的方法有哪些