定时备份脚本
场景介绍
运维中有时候需要定时备份一些重要的数据
实验介绍
/root/work我们需要定时自动备份这个目录里面的所有数据。
准备脚本
创建备份路径
我们先创建备份的目录
mkdir /root/data_bak
准备脚本
先将/root/work这个目录复制到/root/data_bak/里面
##! /bin/bash
cp -r /root/work /root/data_bak/
tar -Pcvf /root/data_bak/data$(date "+%Y.%m.%d_%H:%M:%S").tar.gz /root/data_bak/data
rm -rf /root/data_bak/data/
安装crond
安装参考
如果没有安装crond服务就先装上服务。
检查服务状态:
service crond status
定时设置
chmod 777 data_bak.sh
crontab -e #添加定时任务
*/2 * * * * /root/data_bak.sh #为了测试方便,2分钟执行一次
crontab -l #查看定时任务
*/2 * * * * /root/data_bak.sh
ll ./data_bak/ ###查看执行的结果
service crond restart
修改crontab内容
输入命令:
crontab -e
进入后继续输入命令:
0 0 */7 * * /home/bash/bash.sh
设置为每7天执行一次脚本文件
然后,保存退出:wq
sh脚本前面五个字段分别表示分钟(0-59)、小时(0-23)、日(1-31)、月(0-12)、星期几(0-6)后面的为脚本所在目录
3. 重新启动crond服务
输入命令:
service crond restart