高山流水
msgbartop
动之则分,静之则合,无过不及,随曲就伸。
msgbarbottom

26 四 08 一个solaris下的自动备份数据的例子

一、编写脚本内容,并命名为backupdata,置于根目录:

#!/bin/sh
#备份文件名
backupfile=”`date +”%Y%m%d”`.tar”
export backupfile
#删除旧备份
rm /backup/*.tar
#进入待备份数据目录
cd /u/data/
#打包data文件夹下的database目录
tar cvf /backup/$backupfile database
#将ftp相关信息输出到netrc,使用netrc实现ftp自动上传
#ftp用户名:backup,密码backup
echo “default login backup password backup”>/.netrc
#初始化,macro define initial
echo “macdef init”>>/.netrc
#文件的传输方式设为二进制
echo “bin”>>/.netrc
#ftp服务器路径,backup文件夹
echo “cd backup”>>/.netrc
#本地路径
echo “lcd /backup”>>/.netrc
#上传
echo “put $backupfile”>>/.netrc
#完成后断开连接
echo “bye”>>/.netrc
#输出空白行,说明macdef定义结束
echo “”>>/.netrc
#设置.netrc文件权限,仅能被本用户访问
chmod 600 /.netrc
#执行命令,访问ftp
/usr/bin/ftp 192.168.0.10


二、通过crontab将此脚本加入计划任务:

crontab -l
EDITOR=vi
export EDIROR
crontab -e

加入:

5 1 * * * sh /backupdata

保存即可。

Tags: , , , , , , ,



Reader's Comments

  1. |

    这样每次都tar,未免太低效率了,如果文件很大的话,磁盘开销就很high了。

  2. |

    恩,服务器上的备份,采用的是替换备份,所以这一问题并不突出。当然,如果大大有更好的策略,希望不吝赐教。

  3. |

    思考得很深刻。把这个对话充实、整理一下,写篇短文,投过来吧!

  4. |

    sorry, 偶说的是另一篇:我给这杯冷水加加热(上):图书馆2.0是1.0基础上的服务变革



Leave a Comment