1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup
2.新建备份的脚本vim /root/mysql_backup.sh
3.在mysql_backup.sh中输入内容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqldump -uroot -proot abc | gzip >$backupdir/abc$time.sql.gzfind $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \>/dev/null 2>&1
——————————————————————————————
说明:
backupdir = 备份文件存储文件夹time = 获取当前时间 年月日时(2014111417)2014年11月14日17点mysqldump 备份数据库指令abc要备份的数据库find $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \>/dev/null 2>&1 删除5天前的备份文件
3 :wq 文件保存成功后
先按一下键盘上的 " esc " 然后输入 ” :wq “
执行一下脚本,看根目录下的mysql_backup文件夹是否有.sql.gz后缀名的文件
./mysql_backup.sh
写入每天的定时任务 修改 /etc/crontabvi /etc/crontab
按键盘上的"i",开始输入
02 4 * * * root /root/mysql_backup.sh
表示每天4点2分执行备份任务
先按一下键盘上的 " esc " 然后输入 ” :wq “ 表示保存
8
重新启动crond
service crond restart或/etc/rc.d/init.d/crond restart
linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务两台服务器111,和117服务器,每天完成111服务器上网站和数据库自动备份到117服务器上1:我的111服务器上是当前用户:sxA:查看当前用户的计划任务:crontab
-l是查看当前用户的任务用
vi
crontab
-e
是为sxw用户创建一个计划任务第一行:每天3点运行/home/sxw/rsync201.sh
shell脚本,第二行:和第三行是每天下午7点运行tar包,gaokaotong和phpcms文件第三行:每天7点22分运行/homesxw/back_up.sh
shell脚本,注意:这里是当前用户sxw,所以要shell脚本路径要有用户sxw权限,在这里/home/sxw/back_up
shell脚本,是当前用户sxw用户的家目录。B:
111服务器上/home/sxw/back_up.sh脚本code:-bash-3.2$
vim
/home/sxw/back_up.sh#!/bin/shecho
开始备份数据库mysqldump
-u
jeecms
-pjeecms1234
gktcms
>
gktcms.sqlmysqldump
-u
jeecms
-pjeecms1234
phpcms
>
phpcms.sqlecho
备份数据库完成,复制到117服务器端scp
-P
10022
gktcms.sql
zk@114.113.145.117:/home/zkscp
-P
10022
phpcms.sql
zk@114.113.145.117:/home/zkscp
-r
-P
10022
/opt/www/www2/phpcms.tar.gz
zk@114.113.145.117:/home/zk/scp
-r
-P
10022
/opt/www/www2/gaokaotong.tar.gz
zk@114.113.145.117:/home/zk/echo
发送完成C:
还要在111上做ssh信任,这个可参照ssh资料。很简单,只需要建立两个密钥。2:
117服务器上/homezk/自动就会多出两个tar包文件,phpcms.tar.gz
和gaokaotong.tar.gz这里每天自动保存两个文件,phpcms.tar.gz
和
gaokaotong.tar.gz文件
这里做了一个shell脚本,保存前两天的文件,跟上述111服务器上的建立计划任务一样:A:
查看117的计划任务:
crontabl
-lB:
在查看/home/zk/back.sh
的shell编写code:[zk@DB2~]$
vi
/home/zk/back.sh#!/bin/shTARFILE=/home/zk/phpcms.tar.gzif
[
-f
$TARFILE
]then
mv
/home/zk/phpcms.tar.gz
/home/zk/phpcms_$(date
+%Y%m%d).tar.gz
#remove
date
file
DATE_B=$(date
-d2
day
ago
+%Y%m%d)
FILENAME=/home/zk/phpcms_$DATE_B.tar.gz
if
[
-f
$FILENAME
]then
rm
-rf
/home/zk/phpcms_$DATE_B.tar.gz
else
echo
没有可删除文件
fielse
echo
没有源文件fi~
结束。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)