当前位置:首页 » 网页前端 » crontab脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

crontab脚本

发布时间: 2022-01-29 09:51:40

如何配置crontab每秒执行一次脚本

# crontab -e
* * * * * /bin/echo `date +%F' '%H:%M%S`

# tail -f /var/log/cron
Nov 20 10:25:01 SVPNITECSP01 crond[11908]: (root) CMD (/bin/echo `date +)
Nov 20 10:26:01 SVPNITECSP01 crond[11914]: (root) CMD (/bin/echo `date +)
Nov 20 10:27:01 SVPNITECSP01 crond[11920]: (root) CMD (/bin/echo `date +)

② crontab中如何实现每隔多少天执行一次脚本

1. # 下午6点到早上6点,每隔15分钟执行一次脚本
0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2>&1# 每两小时,重启一次服务* */2 * * * /etc/init.d/apache2 restart

下面是每隔多少分钟,每隔多少小时,每天/每周/每月/每年的crontab的归纳总结

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

  • 每五小时执行 0 */5 * * *

  • 每天执行 0 0 * * *

  • 每周执行 0 0 * * 0

  • 每月执行 0 0 1 * *

  • 每年执行 0 0 1 1 *

  • 如果说是每个月的每隔10天来执行某个脚本的话,同样可以写成:

    ?

    12
  • # 每个月的1号,11号,21号,31号,执行HTTP服务重启0 0 */10 * * /etc/init.d/apache2 restart
  • 但如果是按自然天数,比如说每27天,执行一次脚本,这个要如何实现呢? 如果是这种情况,显然不能通过crontab直接实现,必须迂回实现。

    下面是能想到的两种方法。

    【方法一】通过脚本控制时间来实现

    思路:

    1) 在脚本running.sh中设置要执行的次数,这里假如10次,每次间隔27天,script.sh为要执行的脚本

    2) 然后执行nohup bash running.sh&将其放置在后台让其自动执行

③ 如何用crontab执行脚本文件

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
如何往 cron 中添加一个作业?
# crontab –e
0 5 * * * /root/bin/backup.sh
这将会在每天早上5点运行 /root/bin/backup.sh
Cron 各项的描述
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.
Crontab 示例
1. 在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。
1 0 * * * /root/bin/backup.sh
2. 每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。
59 11 * * 1,2,3,4,5 /root/bin/backup.sh
下面例子与上面的例子效果一样:
59 11 * * 1-5 /root/bin/backup.sh
3. 每5分钟运行一次命令
*/5 * * * * /root/bin/check-status.sh
4. 每个月的第一天 1:10 p.m 运行
10 13 1 * * /root/bin/full-backup.sh
5. 每个工作日 11 p.m 运行。
0 23 * * 1-5 /root/bin/incremental-backup.sh
Crontab 选项
以下是 crontab 的有效选项:
o crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
o crontab –l : 显示 crontab 文件。
o crontab -r : 删除 crontab 文件。
o crontab -ir : 删除 crontab 文件前提醒用户。
以上就是crontab命令的具体使用方法了。
自己写一个脚本试试就可以了,比如一个简单的复制备份脚本
#!/usr/bin/env bash
cp -a /usr/local/Hadoop /home/hadoop/hadoop

④ 如何用脚本创建crontab任务

1、crontab -l检查
2、crontab -e添加
3、root计划任务保存的文件是/var/spool/cron/root
4、根据实际情况修改/var/spool/cron/root即可
5、例如,计划任务保存在/opt/cron.txt里面
0 4 * * * /tomcat6/bin/startup.sh;
6、在第五行添加或指定字符串
sed -i '5 r cron.txt /var/spool/cron/root
或者
sed -i '/cron.start/r cron.txt' /var/spool/cron/root
7、删除最后一行
sed -i '$d' /var/spool/cron/root

⑤ 如何让crontab执行脚本后并且把日志输出到另一个文件

直接crontab -e添加执行脚本,然后给执行脚本加个重定向到文件就行了。

例如:3023***/path/to/shell/script >> /path/to/log/file #表示每晚的23:30执行/path/to/shell/script脚本,并且把结果重定向输出到/path/to/log/file文件。

crontab参数:

-e:编辑该用户的计时器设置;

-l:列出该用户的计时器设置;

-r:删除该用户的计时器设置;

-u<用户名称>:指定要设定计时器的用户名称。

crontab的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command,时间字段都是整数, command:要执行的命令,可以是系统命令,也可以是自己编写的shell脚本文件。 在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,全部。

逗号(,):可以用逗号隔开的值指定一个列表范围。

中杠(-):可以用整数之间的中杠表示一个整数范围。

正斜线(/):可以用正斜线指定时间的间隔频率。

⑥ 如何通过crontab设置脚本自动执行

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
如何往
cron
中添加一个作业?
#
crontab
–e
0
5
*
*
*
/root/bin/backup.sh
这将会在每天早上5点运行
/root/bin/backup.sh
Cron
各项的描述
以下是
crontab
文件的格式:
{minute}
{hour}
{day-of-month}
{month}
{day-of-week}
{full-path-to-shell-script}
o
minute:
区间为
0

59
o
hour:
区间为0

23
o
day-of-month:
区间为0

31
o
month:
区间为1

12.
1
是1月.
12是12月.
o
Day-of-week:
区间为0

7.
周日可以是0或7.
Crontab
示例
1.

12:01
a.m
运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。
1
0
*
*
*
/root/bin/backup.sh
2.
每个工作日(Mon

Fri)
11:59
p.m
都进行备份作业。
59
11
*
*
1,2,3,4,5
/root/bin/backup.sh
下面例子与上面的例子效果一样:
59
11
*
*
1-5
/root/bin/backup.sh
3.
每5分钟运行一次命令
*/5
*
*
*
*
/root/bin/check-status.sh
4.
每个月的第一天
1:10
p.m
运行
10
13
1
*
*
/root/bin/full-backup.sh
5.
每个工作日
11
p.m
运行。
0
23
*
*
1-5
/root/bin/incremental-backup.sh
Crontab
选项
以下是
crontab
的有效选项:
o
crontab
–e
:
修改
crontab
文件.
如果文件不存在会自动创建。
o
crontab
–l
:
显示
crontab
文件。
o
crontab
-r
:
删除
crontab
文件。
o
crontab
-ir
:
删除
crontab
文件前提醒用户。
以上就是crontab命令的具体使用方法了。
自己写一个脚本试试就可以了,比如一个简单的复制备份脚本
#!/usr/bin/env
bash
cp
-a
/usr/local/Hadoop
/home/hadoop/hadoop

⑦ crontab里的定时任务,可以写脚本自动去配置么

直接编辑 /var/spool/cron/username 文件就行了,比如:
echo "10 4 1 * * /root/scripts/backup.sh" >> /var/spool/cron/root

⑧ shell脚本之crontab定时脚本,一般创建在哪个位置

linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下: crontab -e 编辑周期任务 30 21 * * * /etc/init.d/smb restart 每晚的21:30重启smb crontab命令说明: crontab命令被用来提交和管理用户的需要周期性执行的任

⑨ 如何用脚本建立crontab任务

crontab 的 manpage 有言:

SYNOPSIS
crontab [-u user] file
是的,你只管把修改后的 crontab 文件变成 crontab 的参数就好了。
你只管 crontab -l 导出一个存文件,对着导出的那个干些事情,然后 crontab [文件名] 搞定。
你甚至连文件名都不需要,那玩意会读标准输入。

crontab_append()
{
(
crontab -l;
echo "$@";
) | crontab;
}
crontab_append @daily fuck fubuki
crontab_append @monthly buy dress --for-user=fubuki

以下是 ED 晚期患者的开小差。
捏个编辑器不就得了。

CONTENT="@hourly /usr/bin/evil" EDITOR="/usr/local/bin/croned" crontab -e

/usr/local/bin/croned:

#!/bin/bash
# silent vim in ex mode, + jumps to last line.
exec vim -e + -sc "a
$CONTENT
.
wq"

如果你学过 ed 也可以用 ed。去掉 -s 而只用 -c 可以看到 ex 的完整输出。
有可能应该用 VISUAL 变量。

请注意这里 CONTENT 不能包含单个句号。要在 ex 中输入单个句号,请使用

..
.
s/.//

的形式。
如果你懒,可以用

ts=$(date +%s)
echo "$CONTENT">/tmp/$ts
echo >/tmp/empty
exec vim -e + -sc "a
$(diff -e /tmp/empty /tmp/$ts | tail -c+1)
wq"

的方式请 diff 输出一个 ed 脚本喂给“魔改 ed”ex 模式的 Vim 帮你搞定。

如果你没有 ex 只有 ed(这时候你就不能用 vim 的参数 + 跳到最后了),你可以先 crontab -l 导出目前 crontab,复制一个文件补上内容,然后直接 crontab。这样的话你的脚本长这样:

crontab_append(){
local ts=$(date +%s)
crontab -l >/tmp/$ts
( cat /tmp/$ts; echo "$@" ) >/tmp/$ts_
diff -e /tmp/$ts{,_} VISUAL=ed crontab -e
}
crontab_append @hourly /usr/bin/evil

所以说啊,要成为熟练的 Eunuchs Hacker,你先得 ED。