您的位置:首页 > 数据库 > MySQL

mysqldump自动备份脚本的使用

2018-03-20 10:54 501 查看
从百度copy来一个备份的脚本,做了简单的修改:
#!/bin/bash

# Backup file is saved in the directory, if it does not exist Create
basepath='/database/3306/backup/'

if [ ! -d "$basepath" ]; then
mkdir -p "$basepath"
fi

mysqldump -uroot -p''  -S /tmp/mysql_3306.sock xuning --tables  auto  >$basepath/sit3_ccbak_$(date +%F).sql

# Delete the backup data to 7 days before
find $basepath -mtime +7 -name "*.sql" -exec rm -rf {} \;

find /database/3306/backup/ -mtime +7  -name "*.sql" -exec rm -rf {} \;

-----------------------------------------------------------------------------------------------直接执行这个脚本报错:[root@172 backup]# sh sit3_cc.sh: command not found : command not found : command not found : command not found 'it3_cc.sh: line 9: syntax error near unexpected token `'it3_cc.sh: line 9: `fi
百度查看原因可能是在windows系统下编辑脚本的原因导致的编码同。所有的空行都会报错,后把所有的空行删除后搞定,也可以直接在linux系统上编辑文本。相关网址http://blog.csdn.net/xbnlkdbxl/article/details/52945608
后发现执行脚本里面mysqldump命令需要自己输入密码。百度查下脚本下执行mysqldump脚本化的使用方法 ,需要自己的家目录下创建一个隐藏文件[root@localhost backup]# vim /root/.my.cnf[root@localhost backup]# cat /root/.my.cnf [mysqldump]user=rootpassword=相关网址http://blog.csdn.net/aiqixiao1015/article/details/50553425这样在命令中不要指定密码-p字段
之后的脚本还是会报错。报错是find:bin/sh^M: bad interpreter: No such file or directory后来发现还是因为编码的格式不对导致的可以:set ff 查看编码http://blog.csdn.net/xbnlkdbxl/article/details/52945608--findfind /database/3306/backup/ -mtime +7 -name "*.sql" -exec rm -rf {} \;-exec<执行指令>:假设find指令的回传值为True,就执行该指令;-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;之后写定时任务crontab -e22 22 * * * sh /database/che/backup/sit3_ccbak.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: