首页 > 系统相关 >Linux crontab定时任务设置方法

Linux crontab定时任务设置方法

时间:2023-03-19 23:33:42浏览次数:50  
标签:copyfile crontab 任务 Linux home 定时 root

一、命令

crontab -l 表示列出所有的定时任务
crontab -r 表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除,执行crontab -l后会提示用户: no crontab for admin
crontab -e 设置定时任务
参考:https://blog.csdn.net/woshiyangyunlong/article/details/99944576

二、操作步骤

  • crontab -e 进入定时任务编辑状态
  • 在最下方添加一行定时任务,例如: 0 10 * * * sh /home/root/copyfile.sh > /home/root/copyfile.log
  • ctrl+x 退出编辑状态,此时会出现提示: Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES)?YES NO
  • 按Y键通用修改,会出现提升:File Name to Write: /tmp/crontab...
  • 按enter键同意本次修改写入本地文件
    • 如果你的修改有误,例如小时设置了24,超过范围,会报错:errors in crontab file, can't install
    • 如果修改无误,会提示:crontab:installing new crontab

三、实例

# 例1:
# 每天十点运行/home/root/下的copyfile.sh脚本,并把结果记录在/home/root/下的copyfile.log文件中
0 10 * * * sh /home/root/copyfile.sh > /home/root/copyfile.log
# crontab文件中的行由6个字段组成,不同字段间用空格或者tab键分割。前5个字段指定命令要运行的时间
分钟(0-59)
小时(0-28)
日期(1-31)
月份(1-12)
星期几(0-6,其中0代表星期日)
第六个字段是一个要在适当时间执行的字符串

# copyfile.bash内容
#!/bin/bash

#设置环境变量
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#复制项目
sudo cp -r /home/trizhi2/project /home/beifen

#判断是否备份成功        
if [ $? -ne 0 ];then
    echo “备份失败”
else
    echo "备份成功"
fi


# 例2:
# settings.py中利用django-crontab设置定时任务
INSTALLED_APPS = [
  ...
  django_crontab
  ...
]

# 定时任务
'''
*    *    *    *    * :分别表示 分(0-59)、时(0-23)、天(1 - 31)、月(1 - 12) 、周(星期中星期几 (0 - 7) (0 7 均为周天))
crontab范例:
每五分钟执行    */5 * * * *
每小时执行     0 * * * *
每天执行       0 0 * * *
每周一执行       0 0 * * 1
每月执行       0 0 1 * *
每天23点执行   0 23 * * *
'''
CRONJOBS = [
    ('0 12 * * *', 'xxx.method', ' >> /tmp/logs/confdict_handle.log'), 
]
# xxx.method对应方法在项目中的路径,从根目录的下一级开始
# 设置并运行项目后,会在Linux的crontab中出现对应的定时任务,例如:
# 0 12 * * * /usr/bin/python3 /home/root/project/manage.py crontab run 49a013ee87bc14105bdb8b0393313302  >> /tmp/logs/confdict_handle.log # django-cronjobs for expatents

标签:copyfile,crontab,任务,Linux,home,定时,root
From: https://www.cnblogs.com/moyezq/p/17187171.html

相关文章

  • petalinux创建及工程配置
    2023-03-1921:56:47下载petalinux安装包petalinux_2022下载download用于离线编译downloads_2022sstate下载这个部分不容易在线失败,跳过库安装sudoapt-getinst......
  • linux释放内存空间
    释放内存前先使用sync命令做同步,以确保文件系统的完整性,将所有未写的系统缓冲区写到磁盘中,包含已修改的i-node、已延迟的块I/O和读写映射文件。否则在释放缓存的过程中,可......
  • Linux释放SWAP空间
    swap的概述swap的作用可简单描述为:当内存不够用时,将存储器中的数据块从DRAM移到swap的磁盘空间中,以释放更多的空间给当前进程使用。当再次需要那些数据时,就可以将swap磁盘中......
  • Linux Debian11安装VirtualBox虚拟机平台
    一、VirtualBox虚拟机简介VirtualBox是一款开源虚拟机软件。VirtualBox是由德国Innotek公司开发,由SunMicrosystems公司出品的软件,使用Qt编写,在Sun被Oracle收购后......
  • Linux
    常用命令:poweroff命令命令用于关闭计算器并切断电源。使用权限:系统管理者。语法poweroff[-n][-w][-d][-f][-i][-h]参数说明:-n:在关机前不做将记忆体资料写......
  • Linux 使用技巧总结
    Linux使用技巧总结(noilinuxorubuntu22.04)结合高中时用linux的一些技巧,并加入一些大学以后用到的linux常识。终端的基本命令忘了就-h或--help或mancdD......
  • Linux
    1.理论知识1.1文件名后缀           1.1.1与文件类型无关1.1.2作用是说明和注释一个文件的性质1.2常见的压缩文件后缀后缀......
  • Linux下安装RabbitMQ
     1.文件上传将文件上传到/usr/local/rabbitmq目录下(如果没有rabbitmq文件夹,自己手动创建一个)mkdirrabbitmq2.安装文件(分别按照顺序安装)rpm-ivherlang-21.3-1.el7......
  • Linux fcntl函数详解
    功能描述:根据文件描述词来操作文件的特性。文件控制函数         fcntl--filecontrol头文件#include<unistd.h>#include<fcntl.h>函数原型intfcn......
  • Linux(centos)接口代理策略
    Linux(centos)接口代理策略前言目的:实现一个接口转发,代理访问qiang内不能访问的接口。实现方式:直接使用go的第三方ssr包;(有报错,可能是版本不对,未实现)Linux直接安装ssr......