使用linux服务器的crontab模块进行定时调度

BI报表开发–自学笔记

编写 finereport_project.sh (替换) shell脚本,执行python文件

该替换的都替换掉

/root/anaconda3/bin/python3
/root/finereport_file/daily_all_store_chain.py &>> /root/finereport_file/log.txt 
1、指定要使用的Python解释器的路径
2、执行指定的Python文件,并将执行过程中的输出信息保存到`log.txt`文件中。

使用linux服务器的crontab模块进行定时调度

crontab -e # 输入linux命令,编辑定时调用文件
# 将以下内容添加到文件中, 每天凌晨12点执行任务,跑数据
0 0 * * * /root/finereport_file/finereport_project.sh
1)语  法:
crontab [-u <用户名称>][配置文件] 或 crontab { -l | -r | -e }
-u   #<用户名称> 是指设定指定<用户名称>的定时任务,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的定时任务。
-l  #列出该用户的定时任务设置。
-r  #删除该用户的定时任务设置。
-e  #编辑该用户的定时任务设置。2)命令时间格式 :
*     *    *   *   *  command
分   时   日   月  周   命令
第1列表示分钟159 每分钟用*或者 */1表示
第2列表示小时1230表示0点)
第3列表示日期1314列表示月份1125列标识号星期060表示星期天)
第6列要运行的命令

(3)一些Crontab定时任务例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart  #每晚的21:30 重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart  #每月1、10、22日的4 : 45重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart  #每周六、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart  #每天18 : 00至23 : 00之间每隔30分钟重启apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart  #每星期六的11 : 00 pm重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart  #晚上11点到早上7点之间,每隔一小时重启apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart  #每一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart  #每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart  #一月一号的4点重启apache

*/30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org  #每半小时同步一下时间
0 */2 * * * /sbin/service httpd restart  #每两个小时重启一次apache 
50 7 * * * /sbin/service sshd start  #每天7:50开启ssh服务 
50 22 * * * /sbin/service sshd stop  #每天22:50关闭ssh服务 
0 0 1,15 * * fsck /home  #每月1号和15号检查/home 磁盘 
1 * * * * /home/bruce/backup  #每小时的第一分执行 /home/bruce/backup这个文件 
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  #每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
30 6 */10 * * ls  #每月的1、11、21、31日是的6:30执行一次ls命令
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用crontab可以在Linux定时执行任务。crontab是一个定时任务工具,可以让用户在指定时间执行一些预先定义好的命令。其基本原理是在Linux系统中运行一个称为cron的守护进程,它会根据用户设定的时间表来定期地运行一些命令。用户可以使用crontab命令来添加、修改和移除这些任务,以此来实现定时执行一些特定的操作。 ### 回答2: Linux是一种开源的操作系统,它提供了许多强大的特性和工具来管理系统资源和服务。其中一个重要的特性是crontab定时任务。crontab是由Unix操作系统引入的一种工具,用于预定和运行在指定时间执行的命令或脚本。 简而言之,crontab是一个基于时间的任务调度器,可以让您在指定的时间自动地运行命令。它非常适合那些需要定期执行重复任务的系统管理员。 crontab定时任务的格式是由若干个时间字段和一个命令组成。时间字段指明了任务应该在何时运行,而命令字段指明了应该运行的命令或脚本。时间字段的格式如下: ``` * * * * * command - - - - - | | | | | | | | | ----- Day of the week (0 - 7) (Sunday is both 0 and 7) | | | ------- Month (1 - 12) | | --------- Day of the month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59) ``` 该格式表示有五个字段,分别表示分钟、小时、日期、月份和星期几。如果想要让任务每分钟都执行,所有字段都使用*即可。如果想要在周五晚上10点执行任务,格式为`0 22 * * 5 command`。如果想要在每月的第一天执行任务,格式为`0 0 1 * * command`。 要使用crontab定时任务,您需要打开终端并输入`crontab -e`。这将打开一个文本编辑器,允许您编辑当前用户的crontab文件。将您要执行的命令或脚本添加到文件中,然后保存并关闭编辑器。 crontab定时任务非常灵活和强大,并为系统管理员和程序员提供了一种方便的方法来自动化和管理系统任务。它可以帮助您节省时间和精力,提高系统效率和可靠性。 ### 回答3: Linux系统中的crontab是一种非常常见的工具,它被用来帮助用户对系统中的任务进行自动化调度。 首先,用户需要使用crontab -e“命令来编辑自己的crontab文件。这个文件中包含了用户想要在系统中进行自动化调度的任务列表。 在编辑文件时,用户需要注意一些事项: 1. 确定想要执行的脚本或命令的路径是否正确。 2. 确定需要执行的时间以及具体日期,如何操作。 在编辑好文件之后,用户需要保存并退出,并且在任务执行前需要使用crontab -l“命令来检查刚刚编辑的任务是否被正确添加到了列表中。 随之,需要知道crontab中的时间格式,它是“分钟 小时 日 月 周”,分别代表需执行的分钟、小时、日、月份和星期,其中通配符“*”表示所有。 此外,在crontab中还有一些其他需要注意的细节: 1. 在脚本执行时,需要确定所需的环境变量。 2. 脚本执行时,需要确定命令的输出位置和日志输出位置。 3. 在执行脚本、命令时,还需考虑安全问题,以保证系统的安全性。 总而言之,crontab是一种非常方便的Linux工具,可以帮助用户自动化调度任务,并使其更加高效、简单。在使用时,需要仔细理解时间格式、熟悉输出和环境变量等相关细节,以确保任务能够被准确无误地执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值