前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux下自动备份脚本并上传到ftp服务器

linux下自动备份脚本并上传到ftp服务器

作者头像
三杯水Plus
发布于 2018-11-14 06:35:20
发布于 2018-11-14 06:35:20
2.6K0
举报
文章被收录于专栏:运维运维

#!/bin/bash #设置日志文件,前提建好了/backup/log目录 LogFile=/backup/log/`date +"%Y-%m"`.log #备份源目录 SourceDir=/cvs #备份目标 BakDir=/backup #保存20天过期自动删除 RetainDay=20 #备份的内容可以写进project.lst,如cvs目录下有a,b,c三个目录,project.lst填写多少就备份多少,下面是备份的 #具体脚本,其核心是tar打包,并把重要的内容记录到日志文件里 ProjectLst=/backup/project.lst ################################################## DATE=`date +"%Y-%m-%d"` echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile echo "--------------------------------------------------" >>$LogFile cd $BakDir PROJECTLIST=`cat $ProjectLst` for Project in $PROJECTLIST do  ProjectData=$SourceDir/$Project  DestDir=$BakDir/$Project  PackFile=$DATE.$Project.tgz  if [ -f $BakDir/$PackFile ]  then   echo "backup file have exist !" >>$LogFile  else   cp -RHpf $ProjectData $DestDir >/dev/null   tar -zcvf $PackFile $Project >/dev/null   echo "backup $Project done into $PackFile" >>$LogFile   rm -rf $Project  fi done echo "--------------------------------------------------" >>$LogFile echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile echo " " >> $LogFile ################################################## #下面的内容就是把刚才备份的内容传到服务器上,前提是你有一个可以访问到底FTP服务器 #put backup to ftp server HOST=192.168.110.111 FTP_USERNAME=ftpuser FTP_PASSWORD=123456 cd  $BakDir echo "start open ftp serverat $(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile echo "--------------------------------------------------" >>$LogFile /usr/bin/ftp -in <<EOF open $HOST user $FTP_USERNAME $FTP_PASSWORD put $DATE.$Project.tgz bye EOF echo "put ftp end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile #最后上传完毕后再查看本地备份大于20天的自动删除,这样就可以实现本地异地双备份 find $Bakdir -type f -mtime +$RetainDay -name "*.$Project.tgz" -exec rm {} \; >/dev/null exit 0 #最后我们还可用crontab做个周期性计划,比如每周一次全备份 #59 23 * *  6  /home/backup.sh

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012/11/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux下备份脚本主之 遍历目录备份所有二级目录文件
1,备份脚本如下,我这里以备份CVS目录为例,总CVS目录下有几个Project,统统备份
三杯水Plus
2018/11/14
1.8K0
linux备份脚本之遍历目录下所有二级目录并备份
1,备份脚本如下,我这里以备份CVS目录为例,总CVS目录下有几个Project,统统备份
三杯水Plus
2018/11/14
1.8K0
SVN备份/恢复脚本
上一篇介绍了svn的配置(见http://www.linuxidc.com/Linux/2015-02/113177.htm),这里就写了两个脚本对svn进行全备和恢复,由于是全备,所以可以做个计划任务,每天执行一次即可。保留几天的数据。
星哥玩云
2022/07/04
7210
mysql 远程自动备份脚本
#the script is backup all databases for mysql server,first grant all on *.* to adminbak@'172.16.2.222' identified by "backup";
三杯水Plus
2018/11/14
2.1K0
实现Shell脚本自动备份Gitlab档案并同步到远程
本文介绍了如何通过GitLab实现本地和远程GitLab的定时备份,并发送邮件提醒。主要包含以下步骤:1. 在GitLab中配置SSH密钥认证,并开启SSH服务;2. 使用crontab定时任务实现每天凌晨2点自动备份GitLab到远程服务器;3. 通过邮件发送备份结果。
shaonbean
2018/01/02
2.3K0
mysql全量备份、增量备份实现方法
mysql全量备份、增量备份。开启mysql的logbin日志功能。在【/etc/my.cnf】文件中加入以下代码:
红目香薰
2022/11/29
1.8K0
Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据。 线上数据库备份场景: 每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案详细说明下: 1.MySQLdump增量备份配置 执行增量备份的前提条件是MySQL打开binlog日志功能,在my.cnf中加入 log-bin=/opt/Data/MySQL-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于MySQL数据目录的磁盘上。 ---
洗尽了浮华
2018/01/23
5.2K0
ftp自动上传mysql备份文件
接着下面是利用ftp把备份文件传输到远程服务器的脚本。 当然也可以用scp,rsync等等方案。
用户7108768
2021/10/31
1.7K0
Linux常用Shell脚本,值得学习及收藏
在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本。如何学好脚本,最关键的是就是大量的练习 和实践。根据以下脚本我们可以拓展,这样我们提高的很快!举一反三!
互扯程序
2018/12/07
3.4K0
LINUX脚本使用实战,持续更新
结果测试 [root@zabbix shell]# sh checkurl.sh www.baidu.com www.baidu.com url [ 确定 ]
cuijianzhe
2022/06/14
2K0
LINUX脚本使用实战,持续更新
linux下的mysql自动备份shell
#!/bin/bash # mysql 的备份脚本 # 备份原理: # 1 # 使用列举出所有的库; # 2 # 使用每个库,列举出每张表,除了指定忽略的库; # 3 # 使用mysqldump 导出每一张表到文件:主机名/年月日/库/表.mysqldump.sql # 4 # 验证每张表的sql文件是否包含完成标志; # 5 # 压缩每个sql文件并删除本sql文件 # 6 # 强制删除超过x天的备份文件夹全部文件 # 7
艳艳代码杂货店
2021/10/30
2.1K0
shell脚本自动备份mysql数据库,并进行云备份
先需要安装ossutil这是一键安装脚本(Linux)sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash下面是脚本user="root" #备份用户密码 password="111111" #mysql连接端口 port="3306" mysql_path="/usr/bin/" date=$(date +%Y-%m-%d_%H-%M-%S) del_date=$(date +%Y-%m-%d) #备份路径-
SuperChen
2023/02/12
3.3K0
mysql数据库备份脚本
Begin=date +"%Y年%m月%d日 %H:%M:%S" BakDir=/home/backup/backup LogFile=/home/backup/backup/bak.log Date=date +%Y%m%d
@凌晨
2020/05/28
23.8K0
Linux下数据备份的一般方法
一个应用中有很多的重要数据,为了在数据灾难发生后我们能够及时、迅速、准确的恢复我们的应用到一个比较合适的位置,我们必须定期的对我们的数据资料进行备份,今天所要讨论的就是Linux下数据资料备份的方法。
大江小浪
2018/07/25
1K0
mysql实现定时全量备份
参考地址:  https://github.com/wentmac/mysql_backup
仙士可
2020/09/28
1.5K0
Mysql - shell自动备份
概述 mysql脚本加crontab实现自动备份。 具体内容 vi /opt/mysqlBackup.sh #!/bin/bash mysql_user="USER" # MySQL备份用户 mysql_password="PASSWORD" # MySQL备份用户的密码 mysql_host="localhost" mysql_port="3306" mysql_charset="utf8" # MySQL编码 backup_db_arr=("db1" "db2") # 要备份的数据库名称,多
断痕
2021/01/21
2.4K0
MySQL 冷备份操作 + shell 脚本自动备份
tar jcvf data_cold_back.tar.bz2 data 当需要进行冷备份操作时, 只需执行脚本命令即可(操作会覆盖掉之前备份的压缩文件,没啥不利影响)
泥豆芽儿 MT
2022/01/06
3.1K2
MySQL 冷备份操作 + shell 脚本自动备份
Java 上传文件到ftp服务器「建议收藏」
前两篇文章我们搭建了一个ftp服务器,并对服务器进行了相应的配置,这篇文章我们来说一下我们如何上传文件。
全栈程序员站长
2022/10/03
3.7K0
Java 上传文件到ftp服务器「建议收藏」
SHELL脚本自动化备份MYSQL数据库
写一个自动化脚本,每天2点将school数据库的score表备份并上传到FTP服务器backup目录。
好派笔记
2021/09/15
2.1K0
centos下mysql自动备份
也许需要重启crontab 启用命令:/sbin/service crond restart
庞小明
2019/05/25
1.2K0
相关推荐
linux下备份脚本主之 遍历目录备份所有二级目录文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档