实现功能:每月第一天备份并压缩/root/shelltest目录到/root/fileback中
先写一个备份数据的脚本,首先定义备份源路径和目标路径,设置备份文件名为当前日期
#!/bin/bash
SRC_DIR=/root/shelltest
DST_DIR=/root/fileback
BACK=$(date +%Y%m%d)_etc.tar.gz
#判断目标地址是否存在,不存在就创建,使用“||”代替if语句
[ -d $DST_DIR ] || mkdir $DST_DIR
#备份数据
cd $DST_DIR && tar czvf $BACK $SRC_DIR &> $DST_DIR/cron.log && echo "$SRC_DIR backup finishe
d" || echo "ERROR,please check what happend"
vi /etc/crontab 可以查看crontab的注解
crontab -e 进入某用户编辑模式
crontab -l 列出某用户cron服务详情
crontab -r 删除某个用户的cron服务
crontan -u 设定某个用户的cron服务
使用该命令进入crontab编辑界面
注释里很明确的解释了每个地方需要填写的内容,前五个星号分别代表定时时间,后边是命令,如
每分钟执行 * * * * *
每天6点执行 0 6 * * *
每周六6点30分执行 30 6 * * 6
在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * *
我们先尝试一下每分钟输入一段内容到指定路径
扫描二维码关注公众号,回复:
8503106 查看本文章
crontab -e进入编辑模式
#输入下面的命令,路径请选择自己的
* * * * * echo `date` >> /root/fileback/text.txt
过几分钟后查看text.txt的内容
因此每个月定时备份的命令就很简单了,/bin/sh相当于bash的功能,后面的地址是自己shell文件的路径
0 0 1 * * /bin/sh /root/shelltest2/fileback.sh