Linux 通过脚本实现远程数据的自动备份,linux脚本备份


       在数据化飞速发展的今天,数据的定期备份成了数据安全首要考虑的问题。一旦出现了问题或故障,导致数据无法正常读取,那么原有的重要数据又如何得以保存下来呢。当然不能采用本机备份了,这样的备份风险很大,极有可能鸡飞蛋打,如果机器都宕掉了,本机备份的数据也就没法利用啦。因此,采取远程服务器作为备份机(远程数据备份)就变的很重要了。

        远程手动备份费时费力而且还不及时,最好的办法就是通过脚本实现远程自动备份。但远程备份无论是通常通过SSH方法登陆到业务服务器(数据服务器),通过scp拷贝文件时都说需要不断输入登录密码。为了解决这个问题可以采用“SSH证书登录方式”,实现SSH无需输入密码来进行登录啦。说了这么多的废话,现在就开始一步步动手做吧。

       1.配置“SSH证书登录方式(无密码验证登录)”

          ※具体配置请参看SSH证书登录方式(无密码验证登录) 

        2.编辑crontab文件

             ※crontab是Linux下的一个命令,位于/etc/crontab,用来将指定的脚本等在指定的时间进行执行,即:定时用来某个任务。

            如设置每天凌晨1:00执行cron.daily中的脚本:

               00 1 * * * root run-parts /etc/cron.daily

        3.编辑自动备份脚本

            在/etc/cron.daily/目录下放入脚本

      cd   /etc/cron.daily/
      vi bakeup_script
      


            待续……


 


linux 系统 做自动备份脚本其中自动备份数据库的脚本可以执行,但是自动释放内存不可以完成

cron -e 编辑调度。。后面追加你要执行的脚本就行了。
 

linux 自动备份与恢复的脚本

#!/bin/sh
#BAKDIR可以换一个你喜欢的
BAK_DIR=/backup

#*为未知,自己查一下怎么取星期啦, 要0-6那个
DATE=$(date +%*)
#自己查一下怎么周数啦
WEEK=$(date +%*)

#备份文件名
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2

#其实没什么不同的,只是要改文件名而已
if [ $DATE -eq 0]; then
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$FULL_BAK
else
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$INCRE_BAK
fi
exit $?
# 把任务加到crontab里就行了,每天执行一次

================
#!/bin/sh
BAK_DIR=/backup
#还原目录
RECOVER_DIR=/
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2

echo -n "recover from week: "
read WEEK

if [ -e $BAKDIR/$FULL_BAK ]; then
tar xjf $BAK_DIR/$FULL_BAK -C $RECOVER_DIR
for N in $(seq 6); do
if [ -e $BAK_DIR/$INCRE_BAK ]; then
tar xjf $BAK_DIR/$INCRE_BAK -C $RECOVER_DIR
fi
done
else
echo "Backup file not exist!! exit now~~"
fi
exit $?

# 这个是手动执行的,要自己输入想还原到的周数年

补充:
可能要自己调试一下
 

相关内容