Linux自动备份文件(linux计划任务)

时间:2022-03-25 05:11:03
今天有人让我给写个脚本,说是让linux定时备份数据和资料,每次备份的数据文件名不一样,并删除超过一定时期的资料,这个听起来挺有意思的,具体看下面吧:
1,写一个脚本backup.sh内容如下 #!/bin/sh cp -r /home/..../data /tmp/backup/bak //数据存在data目录下,备份到backup目录下,所以先将数据拷过来 tar -zcvf /tmp/backup/bak$(date +%Y%m%d).tar.gz /tmp/backup/bak  //将数据所在文件夹bak打包 rm -rf /tmp/backup/bak   //删除临时文件内容
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;   //删除改文件夹下超过30天的文件
2,修改crontab内容 #crontab -e * * * * * /home/.../backup.sh 如:22 11 1 * * /home/backup.sh 就是每月的1号11点22分执行home下的backup。sh脚本 前面五个字段分别表示分钟(0-59)、小时(0-23)、日(1-31)、月(0-12)、星期几(0-6)后面的为脚本所在目录 3,重新启动crond服务 #service crond restart
如果没有安装crond服务就先装上服务再说,用service crond status可以查看该服务状态


注:我们可以用crond服务做很多与定时有关的任务,比如定时发邮件,每天生成一份系统状态报告等等。