linux下 定时 以时间命名 备份数据库,linux数据库
bakfordatabase.sh mysqldump -uuser -ppassword database>folder/`date "+%Y-%m-%d~%H-%M-%S"`.sql
以时间命名备份mysql数据库
mongodump -d database -o folder ‘备份mongodb数据库
cd folder
tar -cf database-'' +%Y-%m-%d''.tar database ‘打包备份后到文件
rm -r database ’删除原文件
以时间命名备份mangodb数据库
00 07 * * * sh folder/bakfordatabase.sh <pre name="code" class="plain">00 */8 * * * sh folder/bakfordatabase.sh
crontab 里面定时备份
用root 用户执行 crontab -e
格式为
* * * * * 命令(dd、tar 、或者别的什么方式)
分 时 日 月 周
比如
1 2 3 4 * tar jcvpf /back/home.tar.bz2 /home
在4月3日的2点1分将/home 以打包成bz2的格式放在/back目录
再比如
1 2 * 4 3 tar jcvpf /back/home.tar.bz2 /home
在4月的每周3的2点零一分将/home 以打包成bz2的格式放在/back目录
crontab 执行的脚本是以root用户来调用的,所以必须要加上oracle用户的环境变量如ORACLE_HOME、ORACLE_BASE、ORACLE_SID,ORACLE_HOME/bin也要加到path里面
另外expdp_oracle.sh其他用户也要有执行权限
example:
vi expdp_oracle.sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2/db_1
export ORACLE_SID=orcl
export PATH=/u01/app/oracle/product/10.2/db_1/bin;$PATH
expdp system/oracle directory=DDPDATA21 dumpfile=rrq.dmp schemas= 'MMS';
wq: