免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1871 | 回复: 8
打印 上一主题 下一主题

自动备份脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-29 16:49 |只看该作者 |倒序浏览
各位大虾。。我编写了个自动备份的脚本。见下

--------------------------------------------------------------------------
#!/bin/bash
DBName="atcdb"
DBUser="root"
DBPasswd="abc"
BackupPath="/usr/local/mysql/backup/"
DBPath="/usr/local/mysql"
NewFile="$BackupPath"$DBName$(date +%y%m%d).back
DumpFile="$BackupPath"$DBName$(date +%y%m%d).back
OldFile="$BackupPath"$DBName$(date +%y%m%d --date='3 days ago').back

if [ -f $OldFile ]
then
  rm -f $OldFile
fi

if [ -f $NewFile ]
then
   echo "$NewFile The Backup File is exists,Can't Backup!"
else
    if [ -z $DBPasswd ]
    then
        mysqldump -u$DBUser --opt -R $DBName > $DumpFile
    else
        mysqldump -u$DBUser -p$DBPasswd --opt -R $DBName > $DumpFile
    fi
fi
echo "The Backup Has Succeed!"
--------------------------------------------------------------------------

然后我将该脚本放到/etc/cron.d/目录下名称为“back.shell”

然后我在crontab 中新加一行“01 4 * * * root /etc/cron.d/back.shell”
表明在每天4点执行备份任务。

-------------------------------------------
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
00 4 * * * root /etc/cron.d/back.shell                 --新加的行

-------------------------------------------

出现的问题:每天4点确实执行了该脚本。而且备份文件也生成了。
但是我发现生成的文件大小为0,而且根本不能用。见下。

[root@FDP2 backup]# ls -l
总用量 1144
-rw-r--r--  1 root root 0  5月 26 04:07 atcdb060526.back

于是我手工自己调用该脚本发现生成的备份文件又是正确的,并且可以用。见下

[root@FDP2 cron.d]# ./back.shell

[root@FDP2 backup]# ls -l
总用量 1144
-rw-r--r--  1 root root 1160319  5月 26 04:02 atcdb060526.back

起初我以为是权限问题。。但是我查看/usr/local/mysql/backup目录的权限是具有root权限的。

我使用了很多方法都是这样。这是怎么会事情呢。。请高手帮我解决哈。。小弟不胜感激。。急用。

论坛徽章:
0
2 [报告]
发表于 2006-08-29 17:03 |只看该作者
放在crontab中的话,很多环境变量是没有的,你要考虑清楚了,仔细检查一下

论坛徽章:
0
3 [报告]
发表于 2006-08-30 09:31 |只看该作者

回复 2楼 yejr 的帖子

但是我不知道你所指的环境是什么意思。。我看了。。没有什么特别的呀。

论坛徽章:
0
4 [报告]
发表于 2006-08-30 11:55 |只看该作者
比如在crontab中,可能没法找到 mysqldump 命令,因为 PATH 不对

论坛徽章:
0
5 [报告]
发表于 2006-08-30 16:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2006-08-30 22:03 |只看该作者
斑竹说的对,使命令路径的问题,我以前也在这个板块写过MYSQL备份的脚本,没有遇到LZ的问题
我用的都是绝对路径

论坛徽章:
0
7 [报告]
发表于 2006-09-04 16:10 |只看该作者
谢谢大家。。就是大家说的哪个问题。。我已经解决了。。。THANK YOU

论坛徽章:
0
8 [报告]
发表于 2006-09-04 16:37 |只看该作者
原帖由 supermysql 于 2006-9-4 16:10 发表
谢谢大家。。就是大家说的哪个问题。。我已经解决了。。。THANK YOU



哥们,,贴出来啊,共享一下

论坛徽章:
0
9 [报告]
发表于 2006-09-04 16:40 |只看该作者
原帖由 supermysql 于 2006-9-4 16:10 发表
谢谢大家。。就是大家说的哪个问题。。我已经解决了。。。THANK YOU



哥们,,贴出来啊,共享一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP