linux服务器下自动备份数据库脚本备份出来的数据大小为0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux服务器下自动备份数据库脚本备份出来的数据大小为0相关的知识,希望对你有一定的参考价值。

自己写了一个自动备份脚本内容如下:
cd /home/user
mysqldump -uroot -p123456 shuju > shuju.sql;

用 crontab -e 执行
但是每次自动备份出来的sql文件大小总是 0
我试着执行了一下语句mysqldump -uroot -p123456 shuju > shuju.sql;
执行结果:

不知道哪里出问题了,求解救...
我用的是阿里云的云服务器mysql和apache 都是阿里云客服帮忙安装的。

Do it like this

/usr/bin/mysqldump -uroot -p123456 shuju > /home/user/shuju.sql

 And

chmod 755 /home/user/back.sh

追问

我修改了一下问题依旧...

追答

权限755是指有x权限你这个没有啊
哦看错了。。

追问

备份文件夹,和脚本文件属性都改过了。。。

追答

贴出这些来看看
ls -l /home/user/back.sh
cat /home/user/back.sh
crontab -l

追问

我将脚本内容改成这样,问题解决。 多谢!

/alidata/server/mysql-5.1.57/bin/mysqldump -uroot -hlocalhost -p123456 shuju > /home/user/shuju.sql;

追答

哦 应该是因为你的mysql安装路径的问题

参考技术A mysqldump -u root -p密码 dbname >/home/databack/test.sql ------------备份某个库
先直接执行看看出来的是不是正确的。追问

mysqldump -uroot -p123456 shuju > shuju.sql;
我直接执行备份语句没有错误。。。

追答

crontab -e 这个参数是编辑用户任务的吧,建议你直接弄个webmain,里面很多用web控制吧,还有就是花点时间好好看看基础命令。

追问

这是crontab 里面的。

初学linux 菜鸟一个。。。

参考技术B 把两个文件名的路径都写全呢?
我觉得应该是没找到shuju文件或者没有读取权限的问题,然后生成的shuju.sql就是空文件

以上是关于linux服务器下自动备份数据库脚本备份出来的数据大小为0的主要内容,如果未能解决你的问题,请参考以下文章

Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

linux 自动备份mysql数据库

Linux(CentOS7)设置自动备份数据库到阿里云OSS

CentOS7下Oracle的自动备份

linux(centos)下每天自动备份mysql数据库

shell脚本每天自动进行数据库备份与远程复制