1,crond定时任务是Linux系统支持可扩展的一种自动执行命令或者脚本的功能 1,yum provides crond(查看命令包源) 2,系统定时任务目录文件
- crond.hourly ------------系统定时任务每小时运行这个目录文件
- crond.daily -------------系统定时任务每天运行这个目录文件
- crond.weekly -------------系统定时任务每周运行这个目录文件
- crond.monthly -----------系统定时任务每月运行这个目录文件
- cond.deny ----------------系统禁止某些用户使用定时任务
- crontab -------------------定时任务配置文件 **2. ** crontab -l 查看当前定时任务列表 crontab -e 编辑定时任务 /var/spool/cron/root root用户写的定时任务会在这个目录下自动生成root定时任务文件 /var/spool/cron/普通用户名 普通用户写的定时任务会在这个目录下自动生成普通用户名定时任务文件 systemctl status crond systemctl start/stop crond /var/log/cron 定时任务日志记录
3.vi/etc/crontab 全局生效
分 时 日 月 周 30 8 * * * 每天8点半做什么什么 0 0 * * * 每天凌晨12点做什么什么 */10 9-18 * * 1-5 每周一到周五每天9点到下午18点每隔10分钟做什么什么 */5 9,10,18 * * * 在9点10点18点每隔5分钟做什么什么
例1,每天凌晨1点钟,将/etc目录打包备份到/tmp下,要求每日打包文件名不同(为了马上显示出实验效果crond写的是每分钟)
DATE=date +%F
cd /
tar -zcvf $DATE.tar /etc && cp $DATE.tar /tmp/
注:定时任务里执行的命令识别的路径就有/bin/ /usr/bin两种,有些命令执行不了就写绝对路径(which查看绝对路径) java环境变量问题,将环境变量写入/etc/profile文件
例2,创建一个以ip地址为名的目录,将/etc打包并备份到ip地址名目录下,每天名字不同
排查:ip add 写在定时任务里需要全路径。不然脚本能识别并执行,定时任务可不行 注:经常会有根据日期来创建目录或者文件的需要也是为了在生成环境中方便记忆。显示时间日期的命令就显的重要