把linux的文件备份到windows上
主要内容
备份linux主机内容到windows机器上。
备份linux
使用tar备份的主要特点:
- 保留权限
- 适合备份整个目录
- 可以选择不同的压缩方式
- 如果选择不压缩还能实现增量备份,部份还原,参考man tar
tar的选项很多,根据具体要求选用。
tar命令增量备份linux目录:
tar -g snapshot -cvpzf $tarfile --exclude-from=$exclude_from $sourcedirectory
备份内容
全量与增量
上面的命令中,每次执行时会根据 snapshot 文件的内容进行增量备份。如果 snapshot 不存在,就对所有文件进行备份。
如果目标文件很大,进行全量备份会比较耗时。为了减轻服务器负担,日常进行增量备份,每周或者每月进行一次全量备份。
目标目录
上面的命令中,$sourcedirectory 是我们备份的对象目录,可以是一个目录或者多个目录,也可以指定为一个文件中的具体内容。比如可以设置成 /opt。这个目录下的所有文件会被打包,除了 –exclude-from 选项指定的文件或目录。–exclude-from 可以指定一个目录或者一个文件的路径,也可以指定为一个文件中的具体内容。
清理历史备份文件
上面的命令中,备份文件 $tarfile 保存在linux 本地。对于已经传送到远程服务器(windows)上的文件,需要定期删除。
如果文件保存在远程服务器上,应该由远程服务器自己负责文件的管理,不需要在linux上管理。
备份文件的转移
上面的命令中,假设文件保存在本地,定期上传到 windows 服务器。
需要准备:
- window上的pscp,putty提供的类似scp的程序,用来在windows上与linux传递文件。
- linux上开通远程访问接口,为pscp程序提供连接能力。
定期从linux上取得文件,并且上传一个标记文件,通知linux 文件传递完成,linux可以清理已经传递完成的文件。
恢复linux(未运行验证)
tar xvpfz tarfile−Ctarfile -C targetdirectory
这个命令会把 tarfile的内容覆盖到tarfile 的内容覆盖到 targetdirectory 目录上,需要特别注意。
对于增量备份的文件,可以反序进行增量恢复。
参考:
Centos使用tar命令做增量备份
centos7系统备份与还原
记录一下putty的pscp的用法
例子代码:
backupall.sh 每天12:30开始备份
#!/bin/bash
# /backup/backupall.sh# define
dayofweek=`date "+%u"`
today=`date "+%Y%m%d"`
source=/
backup=/backup/
exclude_from=/backup/exclude_from# action
cd $backup# clean backuped files
for ff in `ls done/*.tar.gz.*`
dofff=${ff##*/}fff=${fff%.*}echo done file: ${fff}rm -f $ffrm -f $fff
done# do backup
if [ $dayofweek -eq 6 ]; thentarfile = "$today"_full.tar.gzif [ ! -f $tarfile ]; thenrm -rf snapshottar -g snapshot -cvpzf $tarfile --exclude-from=$exclude_from $sourcefi
elsetarfile = "$today"_incr.tar.gzif [ ! -f $tarfile ]; thentar -g snapshot -cvpzf $tarfile --exclude-from=$exclude_from $sourcefi
fiecho $tarfile created.
exclude_from
/backup
/proc
/lost+found
/mnt
/media
/sys
backup_centos_server.bat 每天11:00,14:00开始转移文件
rem linux: backup files at 12:30
rem backup: get backup files at 11:00 and 14:00@setlocal
@echo off
set backupPath=f:\backup\centos7server
set path=e:\term\putty
set PSCP=%path%\pscp.exe -pw
set PSCPP=Pscpp$ecret10
set remote=backup@10.10.132.199:/backuprem get files
%PSCP% %PSCPP% %remote%/*.tar.gz %backupPath%\temprem check files
cd %backupPath%
for /R temp %%f in (*.tar.gz) do (echo %%fif %errorlevel% equ 0 (echo %%f > %%f.saveddate /t >> %%f.savedtime /t >> %%f.saved%PSCP% %PSCPP% %%f.saved %remote%/done)
)rem clean files
move %backupPath%\temp\*.tar.gz %backupPath%
del /Q %backupPath%\temp\*.saved
例子代码没有考虑安全因素,注意!
把linux的文件备份到windows上相关推荐
- 【Java】Java中的在Linux和Mac以及Windows上使用File.separator的坑
1.在写代码中使用File.separator,作文文件名的分割时,会报如下的错,这是在windows上运行的,但是Linux和Mac上是可以的 2.原因很简单,直接修改 修改为这样就可以了.
- scala unix时间戳_下载,在Linux,Unix,Windows上安装Scala
scala unix时间戳 Today we will learn how to download Scala and then install Scala on Linux, Unix and Wi ...
- ac3165 linux驱动_为什么Linux系统没有类似Windows上的还原精灵和影子系统?
很多从Windows转Linux的用户,面临的最大一个问题,就是Linux上没有还原精灵这种软件.众所周知,作为一个操作系统要想普及,绝不可能只针对懂IT的少部分年轻人,而是需要让不同年龄段,不同职业 ...
- mrtg监控linux主机的甚至,windows上mrtg监控linuxcpu 内存
*网上95%都是linux安装mrtg来做监控,windows来做监控机的很少,即使用也是轻轻点水很肤浅,下面是我亲自在windows上安装mrtg来做监控机的实验,并且也已经开始运行在企业当中.mr ...
- 关于Python在Linux、Mac和Windows上的安装方法总结
一.Linux下安装python 1.python源码安装包下载地址: https://www.python.org/downloads/source/ 2.下载完tar.xz压缩包以后,开始解压: ...
- 制作光盘安装linux系统教程,在Windows上制作CentOS自动安装的光盘的教程
1 复制光盘文件 1)挂载iso镜像 创建目录用于挂载光盘: 复制代码代码如下: mkdir /root/centos7 挂载iso镜像 复制代码代码如下: mount -o loop CentOS- ...
- 把日志文件从Linux服务器拷贝到Windows上
pscp -i C:\MyApp\putty0.7\KOI.ppk ubuntu@ec2-18-222-162-171.us-east-2.compute.amazonaws.com:/home/ub ...
- wsl 上使用docker_首先通过在WSL和Docker中进行测试,将ASP.NET Core从Windows上的Azure应用服务迁移到Linux
wsl 上使用docker I updated one of my websites from ASP.NET Core 2.2 to the latest LTS (Long Term Suppor ...
- Go Windows上生成适用于 Linux 的可执行文件
阅读目录 Go Windows上生成适用于 Linux 的可执行文件 Go Windows上生成适用于 Linux 的可执行文件 在Windows上生成适用于Linux的可执行文件是一项相对复杂的任务 ...
最新文章
- MonoRail学习笔记一:一个小例子
- 汉诺塔问题---小昝
- 如何查看一个linux用户的口令保留策略
- Centos5.6入门学习003之Cenots环境初始化
- PHP和JS三元运算顺序相反
- ASP.NET中高级程序员 面试题
- 一个.NET Core下的开源插件框架Pluginfactory
- [bzoj3532][Sdoi2014]Lis
- 无法访问netflix服务_Choerodon 的微服务之路(三):服务注册与发现
- java乱码问题总结
- TensorFlow2.0:tensorboard使用
- RuoYiConfig中加入自定义属性值获取不到解决办法?
- maven 编译后无配置文件解决办法
- Linux SSHD服务安装与维护详解(一)——SSHD安装、启动与密钥认证实现
- 怎么把java安装到64位_怎么安装64位JAVA,大师来详解
- 读取SAE J1939协议数据流
- VS2019下载地址和安装教程(图解)
- 手把手带你玩转Spark机器学习-Spark的安装及使用
- celery英语,celery英语_celery什么意思_celery用法翻译_celery英语读音_解释 - 英语宝典...
- VC++ 操作Word(使用微软office控件)
热门文章
- HTML、XML、XTML关系
- 中国一次性塑料食品包装容器行业发展趋势及需求前景展望报告2022-2028年版
- RT_Thread_临界资源保护
- python批量创建数据库表_使用 Pymysql 批量生成数据表
- Laya开发入门解析
- less、scss、sass
- React 入门:受控组件与非受控组件
- R语言生物群落数据统计分析
- PHP输入123逆序输出321,编写程序,将一个三位数逆序输出,比如,原三位数为123,新数为321....
- vs2017配置opencv详细教程