Linux FTP远程备份shell脚本命令

定期备份各服务器的动摇资料,到ftp服务器,注意主动模式和被动模式区别

#!/bin/bash
#主动FTP对服务端有利,客户端iptables关闭,客户端需要执行passsiveh后上传数据
#被动FTP对客户端有利,服务端iptables关闭,Linux客户端ftp登陆后不需要执行passive命令,可上传
#
#vim /etc/sysconfig/iptables
#开放防火墙端口主动模式下,客户端防火墙需要关闭
#-A INPUT -p tcp --dport 20 -j ACCEPT
#-A INPUT -p tcp --dport 21 -j ACCEPT
yum install vsftpd
vsftprun(){chkconfig vsftpd on
service vsftpd start
chkconfig iptables off
}
vsftprun
vim /etc/vsftpd/vsftpd.conf
#添加匿名用户上传权限
#anonymous_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
#anon_root=/var/ftproot
#anon_umask=022
#anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
mkdir -p /var/ftproot/{upload,download}
chmod 777 /var/ftproot/upload
vsftprun
#客户端配置
yum install -y ftp
#FTP远程备份文件
#!/bin/bash
host="172.16.16.23"
id="zhang"
pw="password"
basedir="/etc"
ip_addr=`ifconfig | grep  ‘inet addr:‘ | grep -v ‘127.0.0.1‘ | cut -d: -f 2 | awk ‘{print $1}‘`
current_date=`date +%Y-%m-%d`
remotedir="/var/ftproot/upload"
backupfile="`date +%Y-%m-%d`.etc.tar.gz"
cd /tmp
tar -zcvf "$ip_addr"-"$backupfile" $basedir
if [ $? -eq 0 ]; then
ftp -n "$host" >/tmp/$ip_addr-etc-$current_date.log 2>&1 <<EOF
user zhang password
binary
cd "$remotedir"
put "$ip_addr"-"$backupfile"
put "$ip_addr"-etc-"$current_date".log
bye
EOF
else
        echo "tar false"
fi

还可以开启使用匿名登录上传文件

时间: 2024-11-20 22:06:21

Linux FTP远程备份shell脚本命令的相关文章

linux 下RMAN备份shell脚本

RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉.对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选.本文提供了一个简单易用的基于linux shell下的RMAN备份脚本供参考.大家可根据自己的需要进行适当调整. RMAN备份相关方面的知识较多,可以参考:    RMAN 概述及其体系结构    RMAN 配置.监控与管理    RMAN 备份详解    RMAN 还原与恢复    RMAN ca

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

linux 基础 shell脚本命令

#########shell脚本命令#### 1.diff diff      file file1             ####比较两个文件的不同 -c                         ####显示周围的行 -u                         ####按照一格式统一输出生成补丁 -r                         ####比较两个文件的不同 patch       file file.path       ####打补丁 -b      

Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

转:http://blog.csdn.net/tianlesoftware/article/details/5740630 全备脚本 以 nocatalog 模式为例: Shell 脚本: ######################################################################## ##   hot_database_backup.sh      ## ##   created by Tianlesoftware   ## ##        

二. 第六单元.shell脚本命令

###########################二. 第六单元.shell脚本命令############################# 1.diff diff        file file1            ##比较两个文件的不同        -c                        ##显示周围的行        -u                        ##按照一定格式统一输出生成补丁        -r                      

shell脚本命令

####################### ####6.shell脚本命令#### ####################### ####1.diff#### diff file file1##比较两个文件的不同 -c##显示周围的行 -u##按照一格式统一输出生成补丁 -r##比较两个目录中文件的不同 patchfilefile.path##打补丁 -b##备份原文件 ####2.grep#### grep关键字符文件|目录##在文件或目录中查找含有关键字的行 grep-i##忽略大小写

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

JAVA远程执行Shell脚本类

1.java远程执行shell脚本类 1 package com.test.common.utility; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.UnsupportedEncodingException; 6 import java.nio.charset.Charset; 7 8 import org.apache.commons.io.IOUtils; 9 import o

LinuxShell脚本之利用rsync+ssh实现Linux文件系统远程备份

功能介绍: 该脚本用于定期(结合crontab一起使用)将本地目录通过rsync+ssh传输到远程服务器,每次执行都生成一个带有以时间命名的目录,并且当前最新版本的数据链接到一个名字叫current的符号链接上,便于查找和恢复.在数据传输完成前,会传输到临时目录下,这个临时目录被命名为"时间-incomplete".超过10天的备份将被删除,超过10天的日志文件也将被删除. 运行原理: 脚本运行的核心就在于ssh的互信和rsync命令.利用rsync能实现压缩传输,节省传输时间. 感谢