1.sudo apt-get install openssh-server
2.groupadd -g 502 sftp
3.useradd -g sftp -d /home/hs -m -u 502 hs
usermod -s /usr/lib/sftp-server hs#为安全起见,该用户不能使用shell只能使用sftp命令
4.在客户端生成密钥。
ssh-keygen -t [rsa|dsa]
文件生成在/home/monica/.ssh中。
后缀为.pub需发送到服务器,并执行命令#cat id_dsa.pub >>
/home/hs/.ssh/authorized_keys
5.编写脚本
此脚本将备份/home/monica/test中的attachments report_attachments中的文件,备份文件分别在/backup/attachments和/backup/report_attachments中,以.tgz文件格式保存。删除7天前的备份文件,并至少保留2个备份。tgz文件将传送到/home/hs/backupfile中。
#!/bin/bash
#tar -zvxf *.tgz
#日志路径
LogFile="/backup/backup.log"
SourceDir="/home/monica/test/"
BakDir=/backup
RetainDay=7
RetainPiece=2
#ProjectLst=/backup/project.lst
PROJECTLIST="attachments report_attachments"
DATE=`date +"%Y%m%d%H"`
echo "">>$LogFile
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile
echo "--------------------------------------------------" >>$LogFile
#cd $BakDir
#PROJECTLIST=`cat $ProjectLst`
for Project in $PROJECTLIST
do
[ ! -d $BakDir/$Project ] && mkdir -p $BakDir/$Project
cd $BakDir/$Project
ProjectData=$SourceDir/$Project
DestDir=$BakDir/$Project/$Project$DATE
PackFile=$DATE.$Project.tgz
if [ -f $BakDir/$Project/$PackFile ]
then
echo "backup file $BakDir/$Project/$PackFile has existed !" >>$LogFile
else
cp -RHpf $ProjectData $DestDir >/dev/null
tar -zcvf $PackFile $Project$DATE >/dev/null
echo "backup $Project done into $PackFile" >>$LogFile
rm -rf $Project$DATE
sftp -i /home/monica/.ssh/id_rsa -oPort=24 backupuser@192.168.0.1 <<END_SFTP
cd backupfile
put $PackFile
exit
END_SFTP
echo "Packfile $PackFile has been transferred.">>$LogFile
fi
BakFileCount=`ls -l *.tgz|wc -l`
WillDeleteFileCount=`find $BakDir/$Project/*.tgz -type f -mtime +$RetainDay|wc -l`
if [ ${RetainPiece} -lt ${BakFileCount} ] && [ ${WillDeleteFileCount} -lt ${BakFileCount} ]
then
echo "Files below will be deleted.">>$LogFile
find $BakDir/$Project/*.tgz -type f -mtime +$RetainDay >>$LogFile
find $BakDir/$Project/*.tgz -type f -mtime +$RetainDay -exec rm {} \; >/dev/null
echo "Files backed up $RetainDay days agon have been deleted.">>$LogFile
else
echo "Only "$RetainPiece" Pieces of backup file.">>$LogFile
fi
done
echo "--------------------------------------------------" >>$LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile
exit 0
分享到:
相关推荐
- WinSCP的作用是通过公私钥验证的方式登录SFTP服务器,并上传压缩后的备份文件。 5. **设定定时任务**: - 控制面板 → 管理工具 → 计划任务 → 添加计划任务 → 设置每日运行脚本备份文件 → 确保即使在未登录...
在标题"系统工具-文件下载-通过SFTP服务器备份文件(Simple Safe Storage) 1.7.zip"中,我们关注的焦点是利用SFTP(Secure File Transfer Protocol)服务器进行文件备份的过程。SFTP是一种安全的网络协议,用于在...
本文将详细介绍如何利用SSH在Windows环境下创建一个自动备份脚本,以确保数据的安全与可恢复性。 首先,我们需要了解的关键点是`7za.exe`,这是一个轻量级的7-Zip压缩工具的命令行版本。7-Zip提供了高压缩率,支持...
脚本主要是通过sftp远程登录并拉取需要灾备的文件,配合Linux操作系统的定时任务即可实现自定义远程文件拉取功能。 脚本有个缺点是第一次执行脚本时,需手动输入一次服务器密码,仅输入一次即可,后续即可自动下载...
同时,为了确保数据的安全性,备份文件通常会被加密,并且在传输过程中使用安全协议,如SFTP或HTTPS。 车载GHOST重做草案.doc可能是与系统恢复相关的文档,GHOST是一种常见的硬盘克隆和恢复工具,与日志备份不同,...
该脚本适用于Cisco、Huawei、H3C 网络设备使用 echo Cisco使用tftp方式将配置文件上传到服务器 echo Huawei、H3C使用窗口记录方式获取配置信息
在提供的文件列表中,“autobakup.exe”可能是实现自动备份的可执行程序,它读取“default.ini”配置文件,执行备份操作,复制备份文件,并根据设定删除旧备份。使用这样的工具可以简化数据库管理,但同时也需要了解...
此外,系统还具备将备份文件传输到远程计算机的功能,这可能是通过FTP、SFTP或SCP等协议实现的。这种远程备份策略是灾难恢复的重要组成部分,即使本地系统出现问题,也能从远程位置恢复数据。值得注意的是,第一版...
将SFTP与Cron结合使用可以实现自动化文件传输的需求,这对于定期备份、同步数据等应用场景非常有用。本文将详细介绍如何使用expect脚本来实现这一目标。 #### 知识点四:Expect脚本详解 Expect是一种自动化交互式...
用户可能需要设置各种参数,如服务器连接信息、文件路径、是否自动创建目录等。这些参数可以通过MFC对话框或配置文件进行设置。在实际使用时,根据需求调整这些参数是至关重要的。 4. **SFTP配置从数据库中下载**...
2. `Linux下sftp自动上传文件 - xiang002的日志 LUPA开源社区.mht` - 这是一篇关于如何在Linux上配置SFTP实现文件自动上传的日志,可能涉及脚本编程和任务调度。 3. `how to setup sftp log - seven - 51CTO技术博客...
Cobian Backup支持多种备份方式,包括但不限于完全备份、增量备份和差异备份,还支持压缩备份文件以及按计划任务自动执行备份。 3. FTP服务器:提到FileZilla FTP Server,这是一个流行的开源FTP服务器软件,允许...
4. 自动化任务:通过脚本或工具定期执行SFTP操作,如备份、同步文件。 总的来说,SFTP是现代网络环境下保障文件安全传输的重要工具,其安全性和易用性使其在各种场景下都得到了广泛应用。通过理解SFTP的工作原理,...
SQL Server自动备份与恢复系统是数据库管理中至关重要的环节,特别是在大型企业或高并发应用环境中,数据的安全性和可恢复性是系统稳定运行的基础。本源码着重实现的就是这样一种功能,将SQL Server数据库的备份过程...
Python 定期备份交换机配置文件 Python script 介绍 在网络维护中,交换机配置文件的备份是非常重要的。为了避免配置文件的丢失,需要定期备份交换机配置文件。本文将介绍如何使用 Python Script 实现交换机配置...
《自动备份助手使用说明1》 自动备份助手是一款专为烽火通信科技股份有限公司数通产品线设计的集成测试软件,它旨在帮助用户自动化地备份网络设备配置,确保数据的安全性和完整性。该软件支持多种网络设备,如R800...
通过多备份,用户可以设定自动备份,而无需在备份过程中进行任何干预。备份成功与否,用户都会通过邮件得到通知。 多备份为用户提供三种数据库备份方式。托管模式是最为简单的一种,用户只需要填写数据库账号信息...
2. 配置文件命名:由于不同厂家的交换机备份文件名称可能不同,脚本中需要根据具体设备进行调整。例如,华为交换机的配置文件通常为"startup-config"或"running-config",而锐捷交换机的可能是"config.text"或其他...