rebeccazxy 发表于 2007-4-18 10:20:10

关于CVS自动备份的问题

我想实现Linux下CVS的自动备份,于是写了个脚本,脚本内容如下:
#!/bin/sh
bakhome=/home/cvsadmin/cvsbak //指定备份文件存放路径
file=cvs`date +%Y%m%d`.tar.gz //指定备份文件命名规则
cd /opt
tar czvfp $bakhome/$file ./cvsroot && echo "`date +%Y%m%d` CVS is backuped sucessfuly" > /opt/cvsbak.txt //将opt/cvsroot下的所有文件以$bakhome/$file命名打包,并在/opt/cvsbak.txt文档中写入“`date +%Y%m%d` BJCVS is backuped sucessfuly”
cat /opt/cvsbak.txt | mail -s "`date +%Y%m%d` CVS is backuped sucessfuly" rebeccazxy@126.com //查看/opt/bjcvsbak.txt如果非空则给zhangxy@bj.nova.net.cn发“`date +%Y%m%d` BJCVS is backuped sucessfuly”的邮件

然后将此脚本放在/opt下;

然后在/home/cvsadmin下建立了个cvsbak文件夹用以存放备份文件;

然后运行crontab -u cvsadmin -e,进入vi编辑模式,编辑的内容如下:
0 19 * * * /opt/tarcvs.sh > /dev/null 2>&1




结果我今天早上一看,昨天的没有备份啊!/opt下也没有自动创建cvsbak.txt这个文档。
问题出在哪里呢???

rebeccazxy 发表于 2007-4-18 11:08:07

请高手指点下啊!

rebeccazxy 发表于 2007-4-18 14:18:50

我执行sh cvsbak.sh,可以按照我的预期进行(可以自动建立cvsbak.txt并写入信息,可以给我指定的邮箱发邮件,可以在/home/cvsadmin/cvsbak下生成备份文件)。
可是用了cron后,就只能在设置的备份时间给我的邮箱发邮件,却不能自动建立cvsbak.txt并写入信息,也不能在/home/cvsadmin/cvsbak下生成备份文件。
这是怎么回事啊????
哪位高人指点下啊!!!

B2CPC 发表于 2007-4-20 09:46:04

修改你的shell脚本成这样试试看,
让cron发送信息到cvsbak.txt,而不是 cvsbak.sh脚本中的指令。
页: [1]
查看完整版本: 关于CVS自动备份的问题