为了防止对数据库的误操作,需要每天备份数据库,手动每天备份很麻烦,leader告诉我可以试着写个shell脚本,实现自动备份数据库,正好我来公司刚两周,正在学习这 方面的知识,刚好可以练习一下。把代码贴在下面,不太详细,不过可以提供个思路。
shell脚本如下:
#!/bin/bash
BackupPath="/home/www/backup" #备份目录
注:1、在 mysqldump -u root report > "$BackupPath"/"$BackupFile" 中,如果数据库没有密码,就不要写-p,如果直接写成
mysqldump -u root -p report > "$BackupPath"/"$BackupFile",则需要手动输入密码,因为没有密码,即按回车,如果写成,
mysqldump -u root -preport > "$BackupPath"/"$BackupFile",即-p和数据库名之间没有空格,此时不用输密码,但执行即不报错,也没有结果,尽管生成了备份文 件,但是备份文件是空的,没有数据。
等号和后面的`date '+%Y-%m-%d'`也不可以有空格,否则也会报错。
添加定时:(定时器可以在任意目录下通过crontab -e添加)
结果定时器就不执行。根据马哥的测试方法,即把后半句放在终端执行
source /etc/profile; /home/www/shell/auto_backup_db.sh >> /home/www/logs/auto_backup_db.log显示权限不够。然后加上sh就好了。
— — — —这是我的第一篇博文,内容可能太过简陋,但是还是希望能给有缘看到她的人带来一点点帮助。同时,谨以此文感谢我得到的第一份工作,感谢 面试我并带给我这次宝贵工作机会的大师兄,感谢我们数据组老大马哥对我的包容,感谢一直带我的龙哥,感谢数据组每一位技术牛牛的小伙 伴,感谢身边每个善良的人,感谢命运让我机缘巧合的得到现在的一切。