美文网首页
linux crontab -e使用

linux crontab -e使用

作者: 领带衬有黄金 | 来源:发表于2019-08-22 18:28 被阅读0次

1. 需求说明:

服务器上运行测试服务,但由于djnago的自带wsgi不稳定,会经常宕机,此时就需要监听端口,当端口关闭时,去重启服务就完成了需求,首先想到了linux自带的定时任务,crontab -e。

2.检测端关闭代码,并重启服务:

import socket
import os
import time


def IsOpen(ip, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    try:
        s.connect((ip, int(port)))
        s.shutdown(2)
        # 利用shutdown()函数使socket双向数据传输变为单向数据传输。shutdown()需要一个单独的参数,
        # 该参数表示了如何关闭socket。具体为:0表示禁止将来读;1表示禁止将来写;2表示禁止将来读和写。
        return True
    except:
        return False


if __name__ == '__main__':
    # # 获取本机电脑名
    # myname = socket.getfqdn(socket.gethostname())
    # # 获取本机ip
    # myaddr = socket.gethostbyname(myname)
    flag = IsOpen('192.168.0.155', 8001)
    if flag:
        print('项目正在运行,不要担心')
    else:
        print(f'项目宕机,立即重启,重启时间:{time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(time.time()))}')
        os.system('python manage.py runserver 0.0.0.0:8001 >> /home/cykj/git_product/logs/log.log 2>&1 &')

3. 使用crontab -e

3.1 第一次打开crontab -e 将要更换编辑器

输入:select-editor 命令

Select an editor. To change later, run 'select-editor'.

  1. /bin/ed
  2. /bin/nano
  3. /usr/bin/vim.tiny

Choose 1-3 [2]: 3

选择3vim编辑器,就可以用:wq保存了。

3.2 问题:

no crontab for cykj - using an empty one
crontab: installing new crontab
解决:使用 crontab -u 当前用户名(cykj) -e ,进行任务编辑,然后wq保存

3.3 编辑任务

*/1 * * * * /home/cykj/my_env/listen_env/bin/python3 /home/cykj/listen/lis.py >> /home/cykj/listen/1.txt
每分钟进行执行python脚本,并将python的输出内容重定向到1.txt中。
3.3.1 时间举例:
    30 21 * * * /etc/init.d/nginx restart
    每晚的21:30重启nginx。
     
    45 4 1,10,22 * * /etc/init.d/nginx restart
    每月1、10、22日的4 : 45重启nginx。
     
    10 1 * * 6,0 /etc/init.d/nginx restart
    每周六、周日的1 : 10重启nginx。
     
    0,30 18-23 * * * /etc/init.d/nginx restart
    每天18 : 00至23 : 00之间每隔30分钟重启nginx。
     
    0 23 * * 6 /etc/init.d/nginx restart
    每星期六晚上的23 : 00 pm重启nginx。

    * */1 * * * /etc/init.d/nginx restart
    每一小时重启nginx
    * 23-7/1 * * * /etc/init.d/nginx restart
    晚上11点到早上7点之间,每 隔一小时重启nginx

    0 11 4 * mon-wed /etc/init.d/nginx restart
    每月的4号与每周一到周三 的11点重启nginx

    0 4 1 jan * /etc/init.d/nginx restart
    一月一号的4点重启nginx

     */30 * * * * /usr/sbin/ntpdate 210.72.145.20
    每30分钟(半小时)同步一下时间

相关文章

  • Linux下配置crontab运行python脚本(anacon

    Linux下配置crontab运行Python脚本 设置crontab,首先使用命令crontab -e编辑cro...

  • Linux定时任务

    Linux定时任务 centOS: 使用crontab -e //编辑 crontab -l //查看定时任务 生...

  • linux Crontab

    Linux Crontab:Linux中用于执行定时任务的工具crontab -e:编辑定时任务crontab -...

  • linux提权入门

    一、crontab提权 linux系统中可以使用crontab -e命令创建计划任务,/var/spool/cro...

  • linux crontab -e使用

    1. 需求说明: 服务器上运行测试服务,但由于djnago的自带wsgi不稳定,会经常宕机,此时就需要监听端口,当...

  • linux常用命令-06-作业调度

    1、 linux 默认自带的调度工具:“crontab” crontab -e (edit user'...

  • Python-crontab和Django-crontab 实现

    Linux中可以使用crontab设置定时任务,可以通过命令crontab -e编写任务,也可以直接写配置文件设置...

  • mac 定时任务

    1、使用crontab设置定时任务 crontab -e 或者sudo crontab -e。 00 16 * *...

  • Linux定时任务 cron

    cron Linux定时任务 显示任务列表 crontab -l 编辑任务 crontab -e 格式 符号 实例 --

  • 79.linux定时任务

    Linux定时任务 通过制定 ```crontab -e``编辑和开启定时任务

网友评论

      本文标题:linux crontab -e使用

      本文链接:https://www.haomeiwen.com/subject/kreosctx.html