linux关于定时执行任务crontab

发布网友 发布时间:2022-02-26 11:16

我来回答

6个回答

懂视网 时间:2022-02-26 15:38

产品型号:thinkpad E15

系统版本:centos7

软件版本:crontab 1.5

在linux系统中,执行周期的任务,可以使用crontab。crontab会把你指定的工作或任务,按照你设定的周期一直循环执行下去启动crond服务[root@xuegod63 ~]# systemctl start crond 

crontab具体计划任务书写格式:

*  *  *  *  *  command需要执行的命令

分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列表示星期0~6(星期日用0或7表示)

第6列要运行的命令

 

一行对应一个任务,特殊符号的含义:    

*        代表取值范围内的数字      (每)

/        指定时间的间隔频率 */10   0-23/2

-        代表从某个数字到某个数字       8-17 

      分开几个离散的数字 6,10-13,20

 

创建计划任务

例1:每天凌晨2点1分开始备份数据

[root@xuegod63 spool]# crontab -e           #添加计划任务

1 2 * * *  tar zcvf /opt/grub2.tar.gz  /boot/grub2

[root@xuegod63 ~]# crontab  -l                 #查看

例2:以非root用户添加计划任务。  这里使用bin用户来添加

[root@xuegod63 ~]# crontab -u bin -e

*/10  * * * * echo "aaaaaaa"  >> /tmp/bin.txt

系统级别的计划任务

[root@xuegod63 etc]# vim /etc/crontab

1 2 * * *  root echo "aaaaaaa"  >> /tmp/1.txt

热心网友 时间:2022-02-26 12:46

crontab 需要由root用户部署,“su - " 切换到root;
”crontab -e" 进入crontab 编辑状态;
输入" * * * * * /usr/bin/bash /home/ganlin/ganlin.sh", 这代表每秒执行一次脚本。
部署完成后 输入 ”crontab -l" 查看crontab 中所有部署的内容;
脚本最好不要放在/home目录下,可以在脚本中写入一行标准输出用来在部署完成后测试结果用。
“> /dev/null 2>&1“ 这样写得结果是就看不到标准输出了, /dev/null 代表一个虚拟的设备 把标准输出写到一个不存在的设备中去了。

热心网友 时间:2022-02-26 14:04

vi /etc/cron.daily/ganlin并在其中添加如下内容(以root用户操作):
bash /home/ganlin/ganlin.sh > /dev/null 2>&1追问那我怎么定时执行任务那,就是想让按需求来设置执行时间

追答你可以修改/etc/anacrontab中的/etc/cron.daily的值

热心网友 时间:2022-02-26 15:38

permission denied 明显就是你的.sh有问题!追问.sh里这么写的
#!/bin/bash
echo "1231231"
crontab里这么写的
* * * * * /home/ganlin/ganlin.sh>>/home/ganlin/ganlin_log 2>&1
请问这写哪错了啊

热心网友 时间:2022-02-26 17:30

至少得定义多久执行一次啊!你这全是星号,等于没定义执行时间。追问* 不是每分钟执行一次嘛亲。。。。。。。。。。。。。。。。。。。。。唉。。。。。

追答噢,可能是我记错了。

热心网友 时间:2022-02-26 19:38

时间设置一下

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com