将文件备份到FTP服务器上

我们在日常工作中经常会将重要的文件备份,而且会将某些更为重要的文件进行不同介质的备份。不同介质的备份的方式有很多种,包括备份到其他硬盘、U盘、光盘等等。这里介绍一种将文件备份到FTP服务器的方法。
可以编写一个shell脚本,并命名为ftpbackup.sh,内容如下:

#!/bin/bash
# backup file to ftp server
# 给备份的文件加个时间戳
DATEEXT=$(date +%Y%m%d%H%M%S)
# FTP服务器IP地址
FTPSERVERIP="192.168.1.192"
# ftp用户名
FTPUSER="zs"
# ftp用户密码
FTPPASSWD="zhangsan"
# 要备份的源文件
SRC="/home/zs/abc.tgz"
# 备份后的文件
DST="abc$DATEEXT.tgz"

ftp -nvi << open $FTPSERVERIP
user $FTPUSER $FTPPASSWD
put $SRC $DST
bin
prompt
close
bye

保存之后要将该文件修改为可执行的。
chmod 755 ftpbackup.sh
执行该文件可以看到如下所示内容:


Connected to 192.168.1.192.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
331 Please specify the password.
230 Login successful.
local: /home/zs/abc.tgz remote: /home/zs/abc20100831091220.tgz
227 Entering Passive Mode (192,168,1,192,207,22)
150 Ok to send data.
226 File receive OK.
49396 bytes sent in 0.034 seconds (1.4e+03 Kbytes/s)
200 Switching to Binary mode.
Interactive mode on.
221 Goodbye.

 

这表明备份成功,不妨登录到ftp服务器上查看一番。
另外,若某些文件需要每天备份,可将该文件放置到/etc/cron.daily目录下即可,系统会在每天的某个时间(在/etc/crontab中指定)对其进行备份。

在Windows中,我们可以使用PowerShell脚本来备份数据库到FTP服务器。下面是一个示例脚本: ```powershell # 设置数据库和FTP服务器的相关信息 $databaseServer = "数据库服务器名称" $databaseName = "数据库名称" $databaseUsername = "数据库用户名" $databasePassword = "数据库密码" $ftpServer = "FTP服务器地址" $ftpUsername = "FTP用户名" $ftpPassword = "FTP密码" # 创建备份文件名,基于当前日期和时间 $backupDate = Get-Date -Format "yyyyMMdd_HHmmss" $backupFileName = "$databaseName" + "_" + "$backupDate" + ".bak" # 使用sqlcmd命令备份数据库到本地 $sqlcmdCommand = "sqlcmd -S $databaseServer -d $databaseName -U $databaseUsername -P $databasePassword -Q `"BACKUP DATABASE $databaseName TO DISK=N'C:\Temp\$backupFileName'`"" Invoke-Expression $sqlcmdCommand # 使用ftp命令上传备份文件FTP服务器 $ftpCommand = @" open $ftpServer $ftpUsername $ftpPassword put C:\Temp\$backupFileName $backupFileName bye "@ $ftpCommandPath = "C:\Temp\ftp_command.txt" $ftpCommand | Out-File -FilePath $ftpCommandPath ftp -s:$ftpCommandPath # 删除本地备份文件和FTP命令文件 Remove-Item -Path "C:\Temp\$backupFileName" Remove-Item -Path $ftpCommandPath ``` 请注意,上述脚本中的数据库服务器、数据库名称、用户名、密码,以及FTP服务器、用户名、密码需要按照实际情况进行替换。此外,脚本会将备份文件保存在本地的C:\Temp目录下,并将文件上传到FTP服务器后再删除本地备份文件。 希望以上内容对您有所帮助!如有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值