#创建/root/backup.sh 在root目录下创建backup.sh文件
touch /root/backup.sh
#进入root目录下backup.sh文件编辑
vi /root/backup.sh
- #强制复制/root/aa下所有文件到 /root/b 覆盖文件不提示:\cp -Rf
#-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
#-f:覆盖已经存在的目标文件而不给出提示。
#! /bin/sh
\cp -Rf /root/aa/. /root/b
- #删除/root/aa下10天前所有文件不提示
#! /bin/bash
find /root/aa/ -mtime +10 -name "*" -exec rm -Rf {} \;
#! /bin/bash
# 这个是根据时间删除。简要解释一下,这句shell命令:
find /root/aa/ -mtime +10 -name "*" -exec rm -Rf {} \;
# //root/aa :准备要进行清理的任意目录
# -mtime:标准语句写法 # +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
# "*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
# -exec:固定写法
# rm -rf:强制删除文件,包括目录 rm -rf
# {} \; :固定写法,一对大括号+空格+/+;
#编辑crontab -e定时任务
crontab -e
#进入后编辑输入:
#每天0:00执行 root/目录下的脚本backup.sh脚本
0 0 * * * /bin/sh /root/backup.sh
#重启crond centos6.4
service crond restart
#重启crond centos7.6
systemctl restart crond.service
crond参数说明:
- -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
- -r : 删除目前的时程表
- -l : 列出目前的时程表
时间格式如下:
f1 f2 f3 f4 f5 program
- 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
- 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
- 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
- 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
- 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
* * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)