crontab

Celery配置实践笔记

那年仲夏 提交于 2020-02-26 04:07:25
说点什么: 整理下工作中配置celery的一些实践,写在这里,一方面是备忘,另外一方面是整理成文档给其他同事使用。 演示用的项目,同时也发布在Github上: https://github.com/blackmatrix7/celery-demo 这份笔记会随着经验的积累,逐步调整完善,不过通常情况下,Github上的更新会比较快。 Celery 配置实践笔记 Celery 配置实践笔记,目前已记录: 异步执行任务 为不同任务分配不同的队列 计划任务 需要补充: 为不同的任务配置不同的优先级 Celey任务的返回结果 创建Celery 配置Celery参数 在创建celery实例之前,需要对celery的参数进行一些配置。 在这里列出一些比较常用的Celery配置项: 配置项名称 说明 CELERY_DEFAULT_QUEUE 默认的队列名称,当没有为task特别指定队列时,采用此队列 CELERY_BROKER_URL 消息代理,用于发布者传递消息给消费者,推荐RabbitMQ CELERY_RESULT_BACKEND 后端,用于存储任务执行结果,推荐redis CELERY_TASK_SERIALIZER 任务的序列化方式 CELERY_RESULT_SERIALIZER 任务执行结果的序列化方式 CELERY_ACCEPT_CONTENT CELERYD

使用shell程序备份crontab中的.sh脚本文件

白昼怎懂夜的黑 提交于 2020-02-24 21:46:47
需求 线上环境有一些定时脚本(用 crontab -l 可查看当前用户的),有时我们可能会改这些定时任务的脚本内容。为避免改错无后悔药,需用shell实现一个程序,定时备份crontab中的.sh脚本文件 分析与思考 所有用户的crontab放在 /var/spool/cron/ 目录,各个用户放在各自目录下。只要把这些用户的crontab读取出来,提取出其中的.sh文件,然后按照用户备份到相应目录就行。最后配一个crontab,定时去执行这个备份程序。 备份程序的实现 #!/bin/bash # this shell script from https://www.cnblogs.com/itwild/ # backup dir # root user will in ${bak_dir}/root, itwild user will in ${bak_dir}/itwild bak_dir=/var/itwild # new file will end with 2020-02-24_00:28:56 bak_suffix=$(date '+%Y-%m-%d_%H:%M:%S') if [[ ! $bak_dir == */ ]]; then bak_dir="${bak_dir}/" fi create_dir_if_not_exist() { u="$1" user_bak

Error running cron job `require': cannot load such file — bundler/setup (LoadError)

假装没事ソ 提交于 2020-02-24 05:27:32
问题 I have deployed application using Capistrano 3. I keep on getting following error. `require': cannot load such file -- bundler/setup (LoadError) Here is the cron tab list PATH=/home/deploy/magnificent/shared/bundle/ruby/2.2.0/bin:/usr/local/rvm/gems/ruby-2.2.2/bin:/usr/local/rvm/gems/ruby-2.2.2@global/bin:/usr/local/rvm/rubies/ruby-2.2.2/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games * * * * * /bin/bash -l -c 'cd /home/deploy

Linux定时任务

大憨熊 提交于 2020-02-22 13:23:51
一 crontab指令 crontab (-u username) [-l|-e|-r] cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数   crontab -l //列出某个用户cron服务的详细内容   crontab -r //删除没个用户的cron服务   crontab -e //编辑某个用户的cron服务 二 指令解析 语法: 分 小时 日 月 星期 命令 0-59 0-23 1-31 1-12 0-6 command “*”代表取值范围内的数字, “/”代表”每”, “-”代表从某个数字到某个数字, “,”分开几个离散的数字。 范例: crontab -e 编辑打开输入: */2 * * * * /bin/sh /home/jiaoben/deleteFile.sh /bin/sh /home/jiaoben/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行脚本的命令,后面是脚本存放的路径。 来源: CSDN 作者: 翩跹逸四海 链接: https://blog.csdn.net/SP_zztj/article/details/104440539

Ubuntu crontab 定时 python 详细

白昼怎懂夜的黑 提交于 2020-02-21 01:52:01
Ubuntu系统,定时执行python脚本。 目的:每分钟执行一次timer_test.py timer_test.py 路径 /home/li/d/pythonwork/test/timer_test.py 1 #coding:utf-8 2 import time 3 t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) 4 str = '执行时间:' + t + '\n' 5 print str 开始设置定时 1 在桌面上打开终端 2 输入:sudo crontab -e 然后输入: */1 * * * * python /home/li/d/pythonwork/test/timer_test.py >> /home/li/d/pythonwork/test/testcrontab.log 2>&1 或者输入python的绝对路径: */1 * * * * usr/bin/python2.7 /home/li/d/pythonwork/test/timer_test.py >> /home/li/d/pythonwork/test/testcrontab.log 2>&1 按ctrl o 保存 → 如果有提示直接按enter键 →ctrl x 离开 如下 3 输入:sudo crontab -l

CentOS7 定时任务操作

ぐ巨炮叔叔 提交于 2020-02-20 13:38:28
CentOS7 定时任务 在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定 定时任务 。 1、 at 命令 at 从文件或标准输入中读取命令并在将来的一个时间执行,只执行一次。 at 的正常执行需要有守护进程 atd (关于systemctl请看 这一篇 ): #安装at yum install -y at 或 apt-get install at -y #启动守护进程 service atd start 或 systemctl start atd #查看是否开机启动 chkconfig -- list|grep atd 或 systemctl list-unit-files|grep atd #设置开机启动 chkconfig --level 235 atd on 或 systemctl enable atd 如果不使用管道 | 或指定选项 -f 的话, at 的执行将会是交互式的,需要在at的提示符下输入命令: [ root@centos7 temp] # at now +2 minutes #执行at并指定执行时刻为现在时间的后两分钟 at> echo hello world > /root/temp/file #手动输入命令并回车 at> <EOT> #ctrl+d 结束输入 job 9 at Thu Dec 22

php计划任务

只谈情不闲聊 提交于 2020-02-19 05:37:18
  使用ignore_user_abort()实现php文件能够在浏览器关掉之后照样运行。 当然,要想使程序一直执行,还必须加上set_time_limit(0); Linux 下有种更简单的方法,就是crontab命令 crontab命令的功能是在一定的时间间隔调度一些命令的执行。 crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:编辑任务 -l:显示任务信息 -r:删除定时执行任务信息 crontab的格式: * * * * * Command 分 时 日 月 星期 要运行的命令 crontab的例子: */5 * * * * lynx http://www.php100.com 每5分钟访问一次 www.php100.com 0 8 * * * lynx http://www.php100.com 每天早上8点访问 www.php100.com 0 10 6 * 1-5 lynx http://www.php100.com 每个月的6号和每个礼拜的星期一到星期五的早上10点访问 www.php100.com 0 5 7 8 * lynx http://www.php100.com 8月7日早上5点访问 www.php100.com 上面几个特殊的意思: "*"代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"

PHP5定时任务ignore_user_abort 和crontab

一笑奈何 提交于 2020-02-19 05:35:40
为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和crontab ignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自动运行更新,下面是一个实例 <?php ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*5; // 每隔5分钟运行 do{ $fp = fopen('test.txt','a'); fwrite($fp,'test'); fclose($fp); sleep($interval); // 等待5分钟 }while(true); ?> 只要运行上面的页面,然后关掉,程序就会一直运行下去。 Linux 下有种更简单的方法,就是crontab命令 crontab命令的功能是在一定的时间间隔调度一些命令的执行。 crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:编辑任务 -l:显示任务信息 -r:删除定时执行任务信息 crontab的格式: * * * * *

You (oracle) are not allowed to use this program (crontab)

☆樱花仙子☆ 提交于 2020-02-15 23:53:07
检查一台ORACLE数据库服务器的crontab作业(用户为oracle,实际环境中可能为oracle、也有可能是其它用户)时,发现出现下面提示信息: $ crontab -l You (oracle) are not allowed to use this program (crontab) See crontab(1) for more information 遇到这种情况,一般是oracle用户被禁止使用crontab指令,需要检查两个配置文件/etc/cron.deny和/etc/cron.allow /etc/cron.deny # 该文件中所列用户不允许使用crontab命令 /etc/cron.allow # 该文件中所列用户允许使用crontab命令 检查的具体信息如下所示: # more /etc/cron.deny # # more /etc/cron.allow root tomcat # 在/etc/目录下,可能默认会有cron.allow以及cron.deny文件,也可能没有,没有的情况下可以自己创建,cron.allow文件中包含了可以使用crontab命令的用户名,cron.deny文件中包含了不可以使用crontab命令的用户名。两个文件中每个用户名占一行,并且不允许出现空格。 注意事项 :root用户在任何情况下都可以使用crontab命令。

Linux基础--例行工作

≡放荡痞女 提交于 2020-02-15 10:13:02
1、仅进行一次的工作排程--at at的工作情况其实是这样的: 1)先找寻/etc/at.allow这个档案,写在这个档案中的使用者才能使用at,没有在这个档案中的使用者则不能使用at(即使没有写在at.deny当中); 2)如果没有/etc/at.allow就寻找/etc/at.deny这个档案,若写在这个at.deny的使用者则不能使用at; 3)如果两个档案都不存在,那么只有root可以使用at这个指令。 [root@linux ~]# at [-m] TIME 参数: -m:当at的工作完成后,以email的方式通知使用者该工作已完成 TIME:时间格式,这里可以定义出什么时候要进行at这项工作的时间,格式有: HH:MM ex> 04:00 在今日的HH:MM时刻进行,若该时刻已超过则明天的HH:MM进行此工作 HH:MM YYYY-MM-DD ex> 04:00 2005-12-03 强制规定在某年某月的某一天的特殊时刻进行该工作 HH:MM[am|pm] [Month] [Date] ex> 04pm December 3 也是一样,强制在某年某月某日的某时刻进行 HH:MM[am|pm] + number [minutes|hours|days|weeks] ex> now + 5 minutes ex> 04pm + 3 days