主要内容

备份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上相关推荐

  1. 【Java】Java中的在Linux和Mac以及Windows上使用File.separator的坑

    1.在写代码中使用File.separator,作文文件名的分割时,会报如下的错,这是在windows上运行的,但是Linux和Mac上是可以的 2.原因很简单,直接修改 修改为这样就可以了.

  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 ...

  3. ac3165 linux驱动_为什么Linux系统没有类似Windows上的还原精灵和影子系统?

    很多从Windows转Linux的用户,面临的最大一个问题,就是Linux上没有还原精灵这种软件.众所周知,作为一个操作系统要想普及,绝不可能只针对懂IT的少部分年轻人,而是需要让不同年龄段,不同职业 ...

  4. mrtg监控linux主机的甚至,windows上mrtg监控linuxcpu 内存

    *网上95%都是linux安装mrtg来做监控,windows来做监控机的很少,即使用也是轻轻点水很肤浅,下面是我亲自在windows上安装mrtg来做监控机的实验,并且也已经开始运行在企业当中.mr ...

  5. 关于Python在Linux、Mac和Windows上的安装方法总结

    一.Linux下安装python 1.python源码安装包下载地址: https://www.python.org/downloads/source/ 2.下载完tar.xz压缩包以后,开始解压: ...

  6. 制作光盘安装linux系统教程,在Windows上制作CentOS自动安装的光盘的教程

    1 复制光盘文件 1)挂载iso镜像 创建目录用于挂载光盘: 复制代码代码如下: mkdir /root/centos7 挂载iso镜像 复制代码代码如下: mount -o loop CentOS- ...

  7. 把日志文件从Linux服务器拷贝到Windows上

    pscp -i C:\MyApp\putty0.7\KOI.ppk ubuntu@ec2-18-222-162-171.us-east-2.compute.amazonaws.com:/home/ub ...

  8. 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 ...

  9. Go Windows上生成适用于 Linux 的可执行文件

    阅读目录 Go Windows上生成适用于 Linux 的可执行文件 Go Windows上生成适用于 Linux 的可执行文件 在Windows上生成适用于Linux的可执行文件是一项相对复杂的任务 ...

最新文章

  1. MonoRail学习笔记一:一个小例子
  2. 汉诺塔问题---小昝
  3. 如何查看一个linux用户的口令保留策略
  4. Centos5.6入门学习003之Cenots环境初始化
  5. PHP和JS三元运算顺序相反
  6. ASP.NET中高级程序员 面试题
  7. 一个.NET Core下的开源插件框架Pluginfactory
  8. [bzoj3532][Sdoi2014]Lis
  9. 无法访问netflix服务_Choerodon 的微服务之路(三):服务注册与发现
  10. java乱码问题总结
  11. TensorFlow2.0:tensorboard使用
  12. RuoYiConfig中加入自定义属性值获取不到解决办法?
  13. maven 编译后无配置文件解决办法
  14. Linux SSHD服务安装与维护详解(一)——SSHD安装、启动与密钥认证实现
  15. 怎么把java安装到64位_怎么安装64位JAVA,大师来详解
  16. 读取SAE J1939协议数据流
  17. VS2019下载地址和安装教程(图解)
  18. 手把手带你玩转Spark机器学习-Spark的安装及使用
  19. celery英语,celery英语_celery什么意思_celery用法翻译_celery英语读音_解释 - 英语宝典...
  20. VC++ 操作Word(使用微软office控件)

热门文章

  1. HTML、XML、XTML关系
  2. 中国一次性塑料食品包装容器行业发展趋势及需求前景展望报告2022-2028年版
  3. RT_Thread_临界资源保护
  4. python批量创建数据库表_使用 Pymysql 批量生成数据表
  5. Laya开发入门解析
  6. less、scss、sass
  7. React 入门:受控组件与非受控组件
  8. R语言生物群落数据统计分析
  9. PHP输入123逆序输出321,编写程序,将一个三位数逆序输出,比如,原三位数为123,新数为321....
  10. vs2017配置opencv详细教程