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

今天有人让我给写个脚本,说是让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服务做很多与定时有关的任务,比如定时发邮件,每天生成一份系统状态报告等等。