问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux的shell文件如何来执行命令添加计划任务?

发布网友 发布时间:2022-02-26 09:36

我来回答

6个回答

懂视网 时间:2022-02-26 13:57

产品型号: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 11:05

crontab 命令

crontab -e  ——>编辑当前用户的crontab任务;

crontab -l   ——>列出当前用户的crontab任务;

crontab -r   ——>删除当前用户的crontab任务;


crontab书写格式


PS:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作;

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”;

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”;

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次;

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

#同步express的备份
10 0 * * * /opt/dts_rsync.sh &
#导入备份文件
01 7 * * * /opt/dts_input.sh &
那么需要的做的就是提取下载完成时间,然后将导入备份文件时间中的小时部分增加1小时。
由于shell无法直接编辑任务计划。
可以将任务计划内容写入到一个txt文件,然后使用命令将txt的内容覆盖至任务计划
命令如下:
/usr/bin/crontab /opt/cron.txt
完整的shell脚本cron如下:
#!/bin/bash
echo "#######################" >> /opt/cron.log
#记录执行时间
statime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$statime" >> /opt/cron.log
#任务计划开始时间,提取小时
a=`cat /opt/cron.txt | grep dts_input.sh | awk '{print $2}'`
#传输完成时间,提取小时
b=`tail -1 /tmp/dts_message.log | awk '{print $2}' | cut -d ":" -f 1`
echo "任务计划开始时间$a" >> /opt/cron.log
echo "传输完成时间$b" >> /opt/cron.log
#判断传输完成时间是否大于等于任务计划时间
if [ $b -ge $a ];then
#增加1个小时
c=`/usr/bin/expr $a + 1`
#修改任务计划文件
/bin/sed -i "s/$a/$c/g" /opt/cron.txt
#覆盖任务计划
/usr/bin/crontab /opt/cron.txt
echo "任务计划开始时间状态ERROR,变更小时为$c" >> /opt/cron.log
else
echo "任务计划开始时间状态OK,小时是$a" >> /opt/cron.log
fi
cron.txt内容如下:
#同步express的备份
10 0 * * * /opt/dts_rsync.sh &
#导入备份文件
01 7 * * * /opt/dts_input.sh &
#检查下载时间
01 */1 * * * /opt/cron.sh
#每周日清空日志记录
01 23 * * 0 /opt/clean_log.sh

热心网友 时间:2022-02-26 13:58

1 导出旧的crontab -l > oldcron
2 echo "* * * * * mynewcron" >> oldcron
3 导回去 crontab < oldcron
==
重点是你要理解crontab是怎么工作的:
man crontab
CRONTAB(1) Cronie Users’ Manual CRONTAB(1)

NAME
crontab - maintain crontab files for indivial users

SYNOPSIS
crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]

DESCRIPTION
Crontab is the program used to install, remove or list the tables used
to drive the cron(8) daemon. Each user can have their own crontab, and
though these are files in /var/spool/ , they are not intended to be
edited directly. For SELinux in mls mode can be even more crontabs -
for each range. For more see selinux(8).

The cron jobs could be allow or disallow for different users. For clas-
sical crontab there exists cron.allow and cron.deny files. If
cron.allow file exists, then you must be listed therein in order to be
allowed to use this command. If the cron.allow file does not exist but
the cron.deny file does exist, then you must not be listed in the
cron.deny file in order to use this command. If neither of these files
exists, only the super user will be allowed to use this command.

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

crontab -e      #编辑计划任务
* * * * *     /root/1.sh       # *从左到右分别代表分时天月周
20 13 * * *   /root/1.sh       # 每天13点20执行 1.sh

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

crontab -e
0 0 1 * * /root/example.sh

/etc/init.d/crond restart
Linux的shell文件如何来执行命令添加计划任务?

crontab -r ——&gt;删除当前用户的crontab任务;crontab书写格式 PS:星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作;逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”;中杠(-):可以用整数之间的中杠表...

Linux shell脚本如何自动运行程序并输入命令

linux下可以使用crontab计划任务实现自动运行程序 追问 查看了下资料好像不行吧,能否给个小例子。呵呵 追答 所谓计划任务就是按周期执行 比如 0 8 * * * /youshell.sh &gt; /dev/null 表示每天8点执行一次 如果你仅仅需要执行一次,那么可以使用at 追问 不行哦,我还需要输入。谢谢你 免费提供最新Lin...

写一个shell脚本,向系统中添加一个服务。在线等,急!

1、开机自启 两种方法:1、加入到rc.local系统配置文件 2、将脚本做成服务形式(拷贝到/etc/init.d/)2、可以通过init.d下的脚本控制其启动 说明脚本要支持start|stop|restart等参数 使用case匹配进行输出,例子如下:!/bin/bash mode=$1 case "$mode" in 'start')...;;'stop')...;;'resta...

如何设置计划任务

在任务计划程序主界面中,选择对应的任务,右键选择相应的选项。在Linux操作系统中,你可以利用Crontab命令或Cron服务来设置计划任务。以下是一个示例:1.编写一个shell脚本(例如test.sh),并设置好脚本的路径。2.打开终端,打开Crontab编辑界面。在终端中输入“crontab-e”...

Linux 中怎么设置计划任务:cron 与 anacron

1.3: job-id    - 这是写在日志文件中任务的独特名字。 1.4: command- 这是要执行的命令或 shell 脚本。2 、如何看示列文件 要浏览示例文件,输入: $ ls -l /var/spool/anacron/ total 12 -rw--- 1 root root 9 Jun 1 10:25 cron.daily -rw--- 1 root ...

反弹shell与计划任务

1. 使用`nc`工具实现反弹shell。将Ubuntu作为攻击机,Kali作为靶机。步骤如下:(1)在Kali上监听端口(例如:23333)。(2)在Ubuntu上执行命令将shell注入到目标系统。2. 计划任务,即使用`crontab`命令创建定期任务。`crontab`命令格式为`* * * * * xxx`,其中`*`代表时间维度划分,`xxx`代表要...

linux编写一个shell脚本,救命

1.先写个脚本,叫help.sh !/bin/sh dir=/tmp/history day=20 [ -d $dir] || mkdir -p $dir find $dir -type f -mtime +$day -delete time=`date +%F\ %H:%M:%S`df -k &gt; /tmp/history/df-k$time 2.设置定时任务,用crontab命令来实现。crontab -e 59 23 * * * /script...

举例说明如何在Linux中实现计划任务的功能。

Linux下的任务调度分为两类:系统任务调度和用户任务调度。系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。/etc/crontab文件包括下面几行:SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=...

linux 写一个计划任务的脚本,在每个月1号的凌晨3点定时备份/boot、/e...

你编辑一个shell脚本:cd ~/tmp vim b.sh !/bin/bash backups=`date +%H_%M-%m%d` # (1号键旁边到符号` )cd /backup-dir tar zcf $backups.tar.gz /home /root /boot /etc 让crontab来调用 crontab -e 3 1 * * sh ~/tmp/b.sh ...

shell脚本可以直接执行,计划任务不执行 为什么?

linux计划任务是使用crontab命令,不执行一般原因如下:cronjob的格式不正确,解决方式为按正确格式重写cron命令 执行文件没有x执行权限,解决方式为使用chmod添加执行权限 执行文件的路径不正常,解决方式为使用完整的路径,不使用相对路径 磁盘空间不足,解决方式为清理磁盘空间 解决建议:把执行程序的log重...

shell脚本执行linux命令 linux执行shell脚本 linux shell命令 shell中执行命令 shell远程执行命令 shell执行命令并取得返回值 linux 执行命令 shell脚本顺序执行命令 python shell命令
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在微信通信录里的好友点开可以看单最后一次和他发的时间吗?_百度... 为什么我刚刚在设置里面把有些应用程序的蜂窝移动网络关闭了,把设置... 在市场买的死螃蟹放冰箱冷冻了几天能吃吗?吃了会有什么问题? 腾讯会议怎么开启演讲者模式? 腾讯会议怎么设置演讲者视图? ipad屏幕尺寸在哪里看 如何准确识别iPad型号和尺寸通过轻松辨识iPad的型号和尺寸 ...我都删除了,怎么还自动提醒行程,怎么不让提醒 OPPO手机的Breeno快看如何帮助我们优化日常行程? 136×84的竖式 手机QQ如何屏蔽@全体成员 Linux crontab怎么定时执行任务 如何设置linux 的计划任务? 如何在linux系统上设置定时执行任务 粽子是怎样做的 怎么做粽子? 怎么做粽子?方法要详细。 如何解除QQ群全员禁言群? 如何设置QQ群几点到几点全员禁言每天重复? 怎样做纸粽子 手机怎么取消QQ群全员禁言? 粽子是如何做的? vivo手机怎么设置自动更换锁屏壁纸? 怎么自己在家做粽子? 粽子是怎么做的啊? 如何做粽子??? qq群全员禁言怎么洗自动解除 有没有在QQ群全员禁言解除后,第一个发消息的办法? 粽子是怎么做的 qq群怎么取消禁言 linux使用cron怎么设置定时任务 在linux下怎么让一个脚本定时运行 如何让linux定时任务crontab按秒执行 Designed by vivo手机忘记密码了怎么办? Linux怎样在某一特定时间执行命令(使用at” vivo手机忘记锁屏密码什么解锁呢 在linux下怎么让一个脚本定时运行? linux定时执行任务的shell脚本怎么写? Linux下定时执行任务的几种方式 忘记vivo手机密码了怎样才能解除密码 linux中怎么用任务计划执行应用程序 vivo手机忘记了密码,怎么能把它解锁。 linux的计划任务可以设定成每30秒钟执行命令一次么?就是 crontab -e 这个命令之后应该怎么写? vivo怎么跳过解锁,密码忘了,不想刷机 linux 怎么开启一个定时任务 linux的定时重启的具体命令? 非常感谢。。。 vivo手机忘记开锁密码,怎么刷机? linux中的定时任务 怎么执行一个控制器中的方法 linux怎么自动(定时)同步时间---要详细的配置步骤 Linux系统下如何设置计划任务?