Contents
1.37. 使用tar命令进行本地备份scripts¶
##tar命令进行本地备份
#!/bin/sh
BAKDATE='date +%y%m%d'
DATA3='date -d "3 days ago" +%y%m%d'
osdata=/disk1
userdata=/disk2
echo "backup OS data starting"
tar -zcvf /$osdata/etc.data/etc_$BAKDATE.tar.gz /etc
tar -zcvf /$osdata/boot.data/boot_$BAKDATE.tar.gz /boot
tar -zcvf /$osdata/home.data/home_$BAKDATE.tar.gz /home
tar -zcvf /$osdata/root.data/root_$BAKDATE.tar.gz /root
tar -zcvf /$userdata/usr_data/usrlocal_$BAKDATE.tar.gz /usr/local
tar -zcvf /$userdata/var_www/www_$BAKDATE.tar.gz /var/www
cp –r /$osdata/* /$userdata
cp –r /$userdata/* /$osdata
echo "Backup OS data complete!"
echo "delete OS data 3 days ago"
rm -rf /$osdata/etc.data/etc_$DATA3.tar.gz
rm –rf /$osdata/boot.data/boot_$DATA3.tar.gz
rm –rf /$osdata/home.data/home_$DATA3.tar.gz
rm –rf /$osdata/root.data/root_$DATA3.tar.gz
rm –rf /$osdata/usr_data/usrlocal_$DATA3.tar.gz
rm –rf /$osdata/var_www/www_$DATA3.tar.gz
rm -rf /$userdata/etc.data/etc_$DATA3.tar.gz
rm –rf /$userdata/boot.data/boot_$DATA3.tar.gz
rm –rf /$userdata/home.data/home_$DATA3.tar.gz
rm –rf /$userdata/root.data/root_$DATA3.tar.gz
rm –rf /$userdata/usr_data/usrlocal_$DATA3.tar.gz
rm –rf /$userdata/var_www/www_$DATA3.tar.gz
echo "delete cws ok!"
上面这段脚本完成的工作是:
将系统与用户的备份数据分别保存在两个不同的本地磁盘disk1和disk2中,
并且保留最近三天的数据,三天前的数据自动删除。
主要备份的数据有/etc目录、/boot目录、/home目录、/root目录、/usr/local目录和/var/www目录。
当然,这里只是举个例子,凡是存放数据的重要目录,都需要进行备份。
将此脚步放到系统守护进程(类似于 Windows 下的计划任务)crontab 下,设定备份时间,即可实现定时系统备份。