我的博客已迁移到xdoujiang.com请去那边和我交流
一、基础环境说明
1、版本
cat /etc/debian_version
5.0.12、vsftpd和redis-server安装
1)下载redis-server的deb包
axel -n 10 http://mirror.wh-stuttgart.net/apt-mirror/packages.dotdeb.org/dists/wheezy/redis/binary-amd64/redis-server_2.6.14-1~dotdeb.1_amd64.deb
2)安装redis-server
dpkg -i redis-server_2.6.14-1~dotdeb.1_amd64.deb
3)安装vsftpd
apt-get -y install vsftpd3、redis部分配置信息
cat /etc/redis/redis.conf|egrep -v "^#|^$" |egrep "port|dbfilename|dir"
port 6379
dbfilename dump.rdb
dir /var/lib/redis4、redis命令参考
http://redisdoc.com/5、ip
1)本机ip
10.1.10.133
2)ftp的ip
10.1.10.133 二、shell脚本
#!/bin/bash
#--------------------------------------------------
#Created:2015-04-29
#Author:jimmygong
#Mail:jimmygong@taomee.com
#Function:backup redis && ftp
#Version:1.0
#--------------------------------------------------
if [[ `id -u` -ne 0 ]]
thenecho "sctipts need root"exit 1
fi
set -o nounset
localip=`ifconfig eth0|awk '/inet addr:/'|awk -F: '{print $2}'|awk -F" " '{print $1}'`
currdate=`date +%Y%m%d`
redisdir="/var/lib/redis"
redisfile="dump.rdb"
redisport="6379"
rediscmd="/usr/bin/redis-cli"
redisbackupdir="/opt/redisbackup/${currdate}"
redisbackuplog="/opt/redisbackuplog/"
targz="${localip}.${redisfile}.tar.gz"
ftphost="10.1.10.133"
ftpport="21"
ftpuser="ftpup"
ftppass="ftpup"
[[ -d ${redisbackupdir} ]] || mkdir -p ${redisbackupdir}
[[ -e /usr/bin/nmap ]] || apt-get -y install nmap --force-yes > /dev/null 2>&1
echosucc ()
{echo "Ok"
}
echofail ()
{echo "Fail"exit 1
}
function echoresult ()
{if [[ $? == '0' ]]thenechosuccelseechofailfi
}
function exportlog ()
{[[ -d ${redisbackuplog} ]] || mkdir -p ${redisbackuplog}logfile=${redisbackuplog}/${currdate}.${localip}.logexec > ${logfile} 2>&1
}
function bgsave ()
{echo -n "Bgsave:"${rediscmd} -h ${localip} -p ${redisport} bgsave > /dev/null 2>&1echoresult
}
function backup ()
{echo -n "Targz:"cd ${redisdir} && cp ${redisdir}/${redisfile} ${redisbackupdir}cd ${redisbackupdir} && tar czf ${targz} ${redisfile} && rm -f ${redisbackupdir}/${redisfile}echoresult
}
function ftpcheck ()
{echo -n "FtpServer:"nmaphost=`nmap ${ftphost} -p ${ftpport}|grep "open"|wc -l`[[ ${nmaphost} -eq 1 ]] && echo "Ok"
}
function ftpcmd ()
{file=$1ftp -in<<EOFopen ${ftphost}user ${ftpuser} ${ftppass}cd 11mkdir ${currdate}cd ${currdate}mkdir ${localip}cd ${localip}mput ${file}quit
EOF
}
function ftpputfile ()
{ftpcheckecho -n "FtpFile:"cd ${redisbackupdir}for i in `ls`doftpcmd $idoneechoresult
}
function delete ()
{echo -n "Delete:"cd ${redisbackupdir} && find -name "*.tar.gz" -mtime +30|xargs -i {} rm -fechoresult
}
function ftpputlog ()
{cd ${redisbackuplog}ftp -in<<EOFopen ${ftphost}user ${ftpuser} ${ftppass}cd 11mkdir logcd logmput ${currdate}*.logquit
EOF
}exportlog
bgsave
backup
ftpputfile
delete
ftpputlog
exit 0
=============================说明=============================================
执行bash redis.sh
ll /opt/redisbackup/20150429/
-rw-r--r-- 1 root root 148 2015-04-29 23:20 10.1.10.133.dump.rdb.tar.gzll /opt/redisbackuplog/
-rw-r--r-- 1 root root 53 2015-04-29 23:20 20150429.10.1.10.133.logcat /opt/redisbackuplog/20150429.10.1.10.133.log
Bgsave:Ok
Targz:Ok
FtpServer:Ok
FtpFile:Ok
Delete:Ok再看ftp那边
ll /opt/backup/11/20150429/10.1.10.133/
-rw------- 1 ftpup ftpup 148 2015-04-29 23:20 10.1.10.133.dump.rdb.tar.gzll /opt/backup/11/
20150429/ log/      cat /opt/backup/11/log/20150429.10.1.10.133.log
Bgsave:Ok
Targz:Ok
FtpServer:Ok
FtpFile:Ok
Delete:Okshell的内置命令命令exec
exec > ${logfile} 2>&1

转载于:https://blog.51cto.com/7938217/1641646

备份redis服务并ftp上传(shell)相关推荐

  1. ssh怎么ftp上传文件到服务器,ssh ftp上传文件到服务器

    ssh ftp上传文件到服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别 ...

  2. linux新建备份数据库的脚本文件,Linux下shell脚本:自动每日备份网站文件和数据库上传FTP空间...

    前言 服务器.vps,难免会遇到各种问题,丢失数据,则必然痛心疾首啊!!! 数据无价,so建议养成定期备份的习惯!而且,要多备份几份,本地.网盘.FTP空间等,都多保存几份! 这里,就为大家带来一个l ...

  3. mysql备份一个表到ftp_备份部分mysql表并上传至指定ftp服务器目录中

    防伪码:忘情公子著 前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本 #!/bin/bash #Filename: ...

  4. mysql数据库上传ftp服务器中_备份部分mysql表并上传至指定ftp服务器目录中

    防伪码:忘情公子著 前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本 #!/bin/bash #Filename: ...

  5. MySQL自动备份脚本和ftp上传脚本

    MySQL自动备份脚本,并上传ftp 在日常的工作中Mysql数据库备份是长期需要去做的一件运维工作,但是人工手动去做这一机械的动作确实必要性不高,所以写个脚本来跑是比较好的. mysql备份脚本 # ...

  6. ftp 文件夹 上传到服务器,ftp上传文件夹到服务器 远程路径

    ftp上传文件夹到服务器 远程路径 内容精选 换一换 WinSCP工具可以实现在本地与远程计算机之间安全地复制文件.与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器, ...

  7. ftp 传输速度_ftp上传工具下载,8款优秀的ftp上传工具下载软件

    FTP上传工具现在有很多种,而且各有各的特点,至于FTP上传工具哪个好用呢?小编认为萝卜白菜各有所爱,看个人喜好,还结合服务器和各种功能方面的需求.小编用的就是iis7服务器管理工具,比较方便而且功能 ...

  8. asp.net ftp上传文件到服务器,.net 文件上传到服务器上

    详解 Linux 下 SSH 远程文件传输命令 scp 3.将本地文件上传到服务器上 scp-P 2222/home/lnmp0.4.tar.gz root@www.vpser.net:/root/l ...

  9. ftp上传乱码_ftp同步图片到本地文件夹,ftp同步图片到本地文件夹的实现步骤

    建设网站经常需要使用FTP上传文件到远程服务器的空间上.如果使用一般的FTP软件,需要把上传的文件拖动到对应的目录上面实现上传,如果要修改文件,只能够使用FTP默认的方式打开文件,一般都是记事本之类很 ...

最新文章

  1. Numpy 一维、二维数组、size/dtype/shape属性、数组函数arange/linspace/logspace /diag/zeros/ones/random 、多维数组索引和筛选)
  2. oracle+connect+by+level,oracle connect by用法篇
  3. FWK005 parse may not be called while parsing
  4. 告别DNS劫持,一文读懂DoH
  5. 【网络设计】ConvNeXt:A ConvNet for the 2020s
  6. iOS - Swift Foundation 框架
  7. 自学编程的八大误区!克服它们,豁然开朗!
  8. Android开发笔记(五十)定时器AlarmManager
  9. delphi xe 连接 mysql_Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决
  10. 完全免费的公众号文章批量下载器
  11. blink usb无线网卡驱动 linux,lblink无线网卡驱动下载官方版_blink无线网卡驱动_blink无线网卡驱动_东坡下载...
  12. win10 家庭版 升级专业版
  13. 基于redis实现抢红包功能(包括余额退回处理)
  14. nginx 配置后缀
  15. 得链表者得天下(上)
  16. linux kill一个进程杀不掉怎么解决?
  17. 【QTP专题】03_Add-in Manager插件
  18. 持币大户谈PRS投资策略
  19. 用树莓派制作视频监控器
  20. 上行参考信号-SRS

热门文章

  1. 一些常用算法 练手的的代码
  2. 对JMETER组件的认知
  3. c++用一级运算比较大小_Python 学习笔记:Python 中的数字和数字型运算
  4. tidyr | 变量取值组合、缺失值处理、变量分列与合并
  5. web前端开发面临挑战有哪些?
  6. SSM框架搭建过程----学生学籍管理系统
  7. 宝塔定时任务执行php源码任务_在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现...
  8. 搜狗输入法电脑版_搜狗输入法上线墨水屏定制版
  9. 上传身份证照片js_国际快递为什么需要上传身份证,怎么上传?
  10. 计算机处理信息的过程按先后顺序可表述为,信息加工理论按照信息处理的先后顺序将记忆区分为三个阶段系统;感觉记忆、()长时记忆。...