IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux-Cron定时任务使用 -> 正文阅读

[系统运维]Linux-Cron定时任务使用

背景

最近用了几年的学生机服务器快过期了,就瞅活动便宜升级了一台轻量级的2核4G、5M的云服务器,但是后来发现轻量级服务器无法使用自动备份快照!!!这可咋整,虽然个人没有什么太重要的数据需要保存,但是MySQL里面还是有点货的、还有一些其他的东西需要自动备份,就想着自己写个脚本,定时把需要备份的东西,分别推到Git仓库里,有的用比没的好。

cron简介

在Linux系统中,计划任务一般是由 cron 承担,我们可以把 cron 设置为开机时自动启动。cron 启动后,它会读取它的所有配置文件(全局性配置文件 /etc/crontab ,以及每个用户的计划任务配置文件),然后 cron 会根据命令和执行时间来按时来调用度工作任务。

cron 是一个 linux 下的定时执行工具,可以在无需人工干预的情况下运行作业。由于 cron 是 Linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务。

基本运行命令

# 启动服务
service cron start

# 关闭服务
service cron stop

# 重启服务
service cron restart

# 重新载入配置
service cron reload

# 查看状态
service cron status

定时规则示例

# 每五分钟执行
*/5 * * * *

# 每小时执行
0 * * * *

# 每天执行
0 0 * * *

# 每周执行
0 0 * * 0

# 每月执行
0 0 1 * *

# 每年执行
0 0 1 1 *

查看定时任务

crontab -l

创建定时任务

crontab -e

image-20210713113931688

选择适合你的编辑器,这里选用的是2。

# 在文档下方填入定时任务(并将正确和错误的日志都输入到以下目录文件中)
*/5 * * * * /docker/docker-data-backup-gz-001.sh > /var/log/docker-backup.log 2>&1 &

脚本日志输出

? 如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情。因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件/var/spool/mail/$user,如果命令执行比较频繁(如每分钟一次),或者命令输出内容较多,会使这个邮件文件不断追加内容,文件越来越大。而邮件文件一般存放在根分区,根分区一般相对较小,所以会造成根分区写满而无法登录服务器

不输出任何内容
*/5 * * * * /docker/docker-data-backup-gz-001.sh &>/dev/null 2>&1 
将正确和错误日志都输出到 /var/log/docker-backup.log
*/5 * * * * /docker/docker-data-backup-gz-001.sh > /var/log/docker-backup.log 2>&1 &
只输出正确日志到 /var/log/docker-backup.log
*/5 * * * * /docker/docker-data-backup-gz-001.sh > /var/log/docker-backup.log &
# 等同于
*/5 * * * * /docker/docker-data-backup-gz-001.sh 1> /var/log/docker-backup.log &
只输出错误日志到 /var/log/docker-backup.log
*/5 * * * * /docker/docker-data-backup-gz-001.sh 2> /var/log/docker-backup.log &

指令说明

  • /dev/null 代表空设备文件

  • >是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留。

  • >> 是把输出附向到文件的后面,文件原内容会保留下来。

  • 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"

  • 2 表示stderr标准错误

  • & 表示等同于的意思,2>&1,表示2的输出重定向等同于1

查看cron日志

tail -f /var/log/syslog
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:39:24  更:2021-09-13 09:40:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:23:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码