需要备份的目录

/etc  #系统配置

tar zcf /backup/etc-$(date +%F).tar.gz /etc/

/var/spool/cron/  #定时任务

tar zcf /backup/cron-$(date +%F).tar.gz /var/spool/cron/

/boot  #引导

tar zcf /backup/boot-$(date +%F).tar.gz /boot/

系统引导记录mbr

dd if=/dev/sda of=/backup/mbr.bin bs=512 count=1

 

创建备份文件夹,放脚本的文件夹

mkdir /backup

mkdir -p /server/scripts

 

写脚本,写好后测试一下是否能用

vim /server/scripts/sys_bak.sh



#!/bin/bash
time=`date +%F`
tar zcf /backup/etc-$time.tar.gz /etc/
tar zcf /backup/cron-$time.tar.gz /var/spool/cron/
tar zcf /backup/boot-$time.tar.gz /boot/
dd if=/dev/sda of=/backup/mbr.bin bs=512 count=1



sh /server/scripts/sys_bak.sh


 

开始编辑定时任务



crontab -e


先改为每分钟执行一次测试



#backup the system at 24:00 everyday

* * * * * sh /server/scripts/sys_bak.sh &>/dev/null



&>/dev/null
# 不管是标准输出还是错误输出都写入/dev/null
#因为定时任务里输出到所有屏幕的都会以邮件发送给这个定时任务的用户,会占用inode,时间长了后会把这个磁盘inode号用完。


 


查看日志



tail -f /var/log/cron


linux定时任务备份_系统引导

 

 linux定时任务备份_bash_02

 

 对比时间,确认没有问题将时间改为24:00



#backup the system at 24:00 everyday
00 00 * * * sh /server/scripts/sys_bak.sh &>/dev/null


完成