只要在这个备份脚本下增加一个异地传输功能即可。假定异地服务器建立一个Ftp服务器。
则在本地Mysql备份脚本中将现有的文件打包,或者放置一个独立目录,然后上传到Ftp服务器即可。其他部分补齐即可。
ftp -n <<!open $Dest_Server
user $FtpUserName $FtpPassword
binary
prompt off
cd /backpath
lcd /tmp
put "targz"
bye
!
这个好办。 cp 你的数据库`date +'%y%m%d'` 指定目录 这个是以年月日来命名备份 删除的命令是
rm -f 你的数据库名字`date -d "3 days ago" +'%y%m%d'` 这个是删除匹配你数据库的备份名日期前3天的备份文件 他会按照日期-3天匹配3天前的日期来删除备份的
2楼说得太玄乎了。
其实很好解决,每次文件被更新后,文件的时间戳也会更新,根据文件的时间戳即可确定该文件是否被更新过。
如果你使用的是redhat,它将cp命令进行过alias,导致cp
-f命令无法去掉提示,因此执行时需要直接调用/bin/cp执行即可,脚本如下:
#!/bin/bash
/bin/cp
-auf
/A/
/B
1、比如每天产生一个/data/accesslog这样的文件,我们每天备份到backup目录的access_2011-01-12loggz这样的文件。
2、增加计划任务
export EDITOR=vi
crontab -e
0 0 /data/baksh;
3、baksh文件内容如下:
cat /data/baksh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date +%Y%m%d`log
# tar everyday
#echo "begining of tar"
tar zcf $bak_dir/$bak_filegz $logs_dir/accesslog
# clear bak_file
#echo "clearing filelog"
find $bak_dir -mtime +7 -exec rm -rf {} \;
#end
linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务两台服务器111,和117服务器,每天完成111服务器上网站和数据库自动备份到117服务器上1:我的111服务器上是当前用户:sxA:
查看当前用户的计划任务:crontab
-l是查看当前用户的任务用
vi
crontab
-e
是为sxw用户创建一个计划任务第一行:每天3点运行/home/sxw/rsync201sh
shell脚本,第二行:和第三行是每天下午7点运行tar包,gaokaotong和phpcms文件第三行:每天7点22分运行/homesxw/back_upsh
shell脚本,注意:这里是当前用户sxw,所以要shell脚本路径要有用户sxw权限,在这里/home/sxw/back_up
shell脚本,是当前用户sxw用户的家目录。B:
111服务器上/home/sxw/back_upsh脚本code:-bash-32$
vim
/home/sxw/back_upsh#!/bin/shecho
开始备份数据库mysqldump
-u
jeecms
-pjeecms1234
gktcms
>
gktcmssqlmysqldump
-u
jeecms
-pjeecms1234
phpcms
>
phpcmssqlecho
备份数据库完成,复制到117服务器端scp
-P
10022
gktcmssql
zk@114113145117:/home/zkscp
-P
10022
phpcmssql
zk@114113145117:/home/zkscp
-r
-P
10022
/opt/>
Do it like this
/usr/bin/mysqldump -uroot -p123456 shuju > /home/user/shujusqlAnd
chmod 755 /home/user/backsh以上就是关于linux环境下,如何实现异地备份mysql,脚本怎么写,已经实现本地自动备份全部的内容,包括:linux环境下,如何实现异地备份mysql,脚本怎么写,已经实现本地自动备份、菜鸟求助:linux下oracle数据库自动备份脚本,脚本可实现数据库自动备份功能,并删除三天前的备份、Linux命令或脚本备份文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)