linux计划任务每天凌晨3点执行mysql数据库的备份脚本
一、用命令实现备份 首页进入mysql的bin目录 1、备份数据 #mysqldump-uusername-ppassworddiscuz>discuz_ 这样就把discuz数据库所有的表结构和数据备份到discuz_里了,如果数据量大会占用很大空间,这时可以利用gzip压缩数据, 命令如下: #mysqldump-uusername-ppassworddiscuz|gzip>discuz_ 系统崩溃,重建系统时,可以这样恢复数据: #mysql-uusername-ppassworddiscuz +%Y-%m-%d_%H%M%S`. 3、修改文件属性,使其可以执行 #chmod+x/usr/sbin/bakmysql 4、修改/etc/crontab 在下面添加 013***root/usr/sbin/bakmysql 表示每天3点钟执行备份crontab使用说明 5、重新启动crond #/etc///crondrestart 完成。 三、数据的恢复/mysqldata/uptry`date 首页进入mysql的bin目录创建数据库 #mysqladmincreatediscuz恢复数据 #mysqldiscuztd_ ::E:\MYOA\mysql\bin\-uroot-pmyoa888td_oa>td_ rara%filename%td_ ::%windir%\System32\a%filename%td_ move%filename%F:\OA_BACKUP\%dirname% deltd_ echo数据库备份完成! echo.&pause 备份过程中遇到的问题: (1)创建文件夹失败。在windowsXX下,默认的日期格式为类似 XX/12/27的样式,在根据日期创建文件夹或者文件时由于windows不允许有“/”特殊字符的存在,故报创建错误。这里使用“set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%”分别取得年、月、日拼凑的形式变相实现。 (2)环境变量问题。在写完上述脚本后,双击bat文件可以无误顺利的执行,但是扔到计划任务执行时就总是报错,具体为rar和mysqldump命令不存在。我怀疑是环境变量的设置没有生效,由于在服务器上不能轻易的执行服务器的重启,这里用rar和mysqldump的完整路径来代替 附:常见dos命令 下的复制和移动 c盘下的文件复制或移动到d盘 命令为: 复制copyc:\d:\ 移动movec:\d:\ 下的条件判断 ifnotexistF:\OA_BACKUP\%dirname%mdF:\OA_BACKUP\%dirname% 下的目录创建和删除 MD——建立子目录 RD——删除子目录 4.关于%DATE:~4,10%的格式 这个命令的意思就是在DATE的输出中,取4-10中间的字符。 对于不同的机器,可能有不同的时间格式,这个可以在控制面板里设置。可以通过ECHO命令察看当前设置,如: C:>echo%DATE% 星期一XX-10-28 当然,我们可以同样取到星期的值: C:>echo%DATE:~0,3% 星期一 当然也可以从不同方向来: C:>echo%DATE:~-10% XX-10-28 C:>echo%DATE:~0,-10% 星期一 5.rar命令解压缩文件前要进行的操作: 1〉将文件拷贝到system32文件夹下; 2〉将winRAR的安装路径放到环境变量中 rar打包文件: rara%filename%.rar%filename%.* rar解压缩文件 rare%filename%.rar 6.用jar打包解压文件必须在当前系统中装有jre环境 jar打包文件: jarcvf%filename%.jar%filwname%.* jar解压缩文件: jarxvf%filename%.jar 先新建一个的文件在把下面的内容添加进去改改实际路径 做个计划任务就自动备份了命令:crontab-e #!/bin/bash # #备份至/root/bak/ BackupPath=/root/bak/ LogFile=/root/bak/ DBPath=/usr/local/app/#需要备份的目录 NewFile="$BackupPath"app_bac