crontab 定时任务
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/5 * * * * bash脚本名 每5分钟执行
0 2 * * * bash脚本名 每天凌晨2点执行
0 2 7 * * bash脚本名 每月7号凌晨2点执行
注: day of month + month 与 day of week 不同时使用
crontab命令:
-l: 显示当前用户的任务列表
-l -u username 显示其它用户的任务列表
-e:编辑任务
-r: 移除所有任务
练习.:每周2,4,7备份/var/log/messages文件至/backup/messages/目录中,文件名保存为形如messages-2017-03-27.tar.xz
0 0 * * 2,4,7 /bin/cp -a /var/log/messages backup/messages/messages-`/bin/date "+%Y-%m-%d"`
案例:重定向rm命令,使被删除的文件移动到recycle_bin目录。再写一个定时任务每天删除recycle_bin目录中7天前的文件
1. 添加文件/usr/local/recycle_bin/recycle_bin.sh
#!/bin/bash count=0 dir=/tmp if [ -d /tmp/recycle_bin ];then dir=/tmp/recycle_bin/`date +%F-%H-%M-%S` mkdir -p $dir for i in $*;do count=`echo $i|grep "^-"|wc -l` if [ $count -ne 1 ];then mv $i $dir else count=0 fi done else mkdir -p /tmp/recycle_bin dir=/tmp/recycle_bin/`date +%F-%H-%M-%S` mkdir -p $dir for i in $*;do count=`echo $i|grep "^-"|wc -l` if [ $count -ne 1 ];then mv $i $dir else count=0 fi done fi
2. 重定向rm命令
修改~/.bashrc, 如有要对所有用户生效就修改/etc/.bashrc
alias rm='rm -i' 改为:
alias rm='/usr/local/recycle_bin/recycle_bin.sh'
resource ~/.bashrc
3. 添加文件/usr/local/recycle_bin/clear_recycle_bin.sh
#!/bin/bash clear_dir=/tmp/recycle_bin/`date -d "7 day ago" +"%Y-%m-%d"`* #clear_dir=/tmp/recycle_bin/`date %Y-%m-%d`* /bin/rm -rf $clear_dir
4.添加定时任务
crontab -e
30 11 */1 * * /usr/local/recycle_bin/clear_recycle_bin.sh
相关推荐
- **Crontab命令**:通过`crontab -e`命令可以编辑用户的个人定时任务,这些任务将在用户上下文中运行。 2. **Windows下的Task Scheduler** - **配置界面**:Task Scheduler有一个图形化界面,可以直接创建、编辑...
### Python + Selenium + Crontab 实现每日定时自动打卡功能 #### 一、背景与目的 随着技术的发展,自动化工具的应用越来越广泛。特别是在日常的工作学习中,自动化可以帮助我们减轻重复劳动的压力,提高效率。...
2. **Linux cron**:cron是Linux系统下的时间计划任务工具,通过编写crontab文件,设置任务执行的分钟、小时、日期、月份和星期,实现定时执行。 3. **Windows Task Scheduler**:Windows系统中的任务计划程序允许...
4. **定时任务**:利用`crontab`进行周期性任务的调度。 5. **自动化脚本**:例如,自动化备份、软件安装、数据迁移等任务。 6. **文本处理**:使用正则表达式和命令如`grep`, `sed`, `awk`进行文本搜索、替换和...
文章还详细介绍了如何使用 crontab 命令和 bash 编程来实现定时任务,并提供了具体的实现代码。 知识点一: Linux 代理服务器实现 ADSL 上网共享 * 使用 Linux 代理服务器可以实现 ADSL 上网共享,控制上网时长和...
`crontab` 文件的格式是用于定义定时任务的关键,它的结构由五个字段组成,分别代表分钟(0-59)、小时(0-23)、日期(1-31)、月份中的日期(1-12)和星期(0-7,其中0和7都代表周日)。每个字段可以是一个具体的...
8. **脚本编程**:对于有一定编程基础的用户,可以使用脚本语言(如Python、Bash等)编写定时任务,实现更复杂的功能,如循环执行、条件判断等。 9. **安全与权限**:设置定时任务时,必须考虑到安全性和权限问题。...
在Linux系统中,`crontab` 是一个强大的定时任务管理工具,用于自动化日常或周期性的任务。然而,很多开发者在尝试使用 `crontab` 执行PHP脚本时会遇到一些问题,尤其是在生成缓存文件时。本文将深入探讨在Linux环境...
标题 "celery+ rabbitMq + python linux 下 例子 crontab例子" 涉及的是在Linux环境下使用Python的Celery分布式任务队列和RabbitMQ消息中间件结合使用,以及如何配合crontab进行定时任务的设置。下面将详细讲解这些...
本实验报告旨在介绍如何使用 Linux shell 编程实现自动备份数据的任务,并使用 crontab 实现自动调度。实验的主要目的是掌握 Linux 系统的 Shell 编程和定时调度任务的方法。 一、实验目的 本实验的目的是掌握 ...
`crontab -e`编辑cron定时任务,例子中每周五3点进行日志备份。 4. **一键部署LNMP**:`yum`是包管理器,用于安装和管理软件包。这里使用它安装部署LNMP(Linux, Nginx, MySQL, PHP)环境,并启动服务并使其开机...
在Linux上,编辑`crontab -e`来添加定时任务,如: ```bash 0 20 * * * /path/to/your/script.sh ``` 这里的`script.sh`是用shell脚本编写的,用于关闭酷狗进程(例如使用`pkill`或`killall`命令)。 除了系统...
【Linux Shell程序设计 实验四】的实验主要涵盖了三个核心知识点:硬盘分区管理、文件系统创建与挂载、以及Linux定时任务(crontab)的配置。这些是Linux系统管理中的基础技能,对于理解操作系统底层运作和自动化...
通过 `crontab`,你可以自动化日常维护工作,如数据备份、日志清理以及定时运行PHP等编程语言编写的程序。 `crontab` 的基本用法包括以下几个参数: - `-u username`:指定另一个用户来操作其定时任务。 - `-e`:...
在终端中,使用`crontab -e`命令编辑定时任务文件。 - 添加一条定时任务,例如每小时执行一次Java程序: ``` 0 * * * * java -jar /path/to/your/app.jar ``` 这里的`/path/to/your/app.jar`应替换为实际的Java...
在IT领域,定时循环监控脚本是一种非常实用的技术,它能够定期执行特定的任务,比如检查系统状态、收集数据、执行备份或更新等。这样的脚本通常由批处理(BAT)文件或其他脚本语言(如bash、Python等)编写,根据...
总结一下,Linux与Unix Shell编程涵盖了编写Shell脚本、使用awk进行文本处理、利用sed进行文本流编辑、通过grep搜索特定模式、用find查找文件,以及通过crontab设置定时任务等多个方面。熟练掌握这些工具和技巧,将...
总结一下,这个"提醒喝水"的zsh/bash脚本利用了Linux的定时任务和命令行交互能力,通过简单的编程逻辑实现了健康生活的小提示。学习和使用这样的脚本,可以让我们更好地掌握Linux系统的自动化操作,同时也能提醒我们...
在Linux系统中,可以使用`crontab`实现定时任务。首先,打开终端,输入`crontab -e`编辑定时任务。假设你想每天凌晨1点执行jar包,添加以下行: ```bash 0 1 * * * /usr/bin/java -jar /path/to/dbtodb.jar ``` 这...