rsync復(fù)制軟件應(yīng)用與實踐——Day32

rsync

1.什么是rsync?
      rsync,Rsync英文全稱為Remote synchronization   縮寫rsync
  是開源、高速的、可實現(xiàn)本地以及遠(yuǎn)程,全量以及增量的數(shù)據(jù)復(fù)制(拷貝)工具。
  官方鏈接資料:http://www.samba.org/ftp/rsync/rsync.html
  作用:
     工作中需要定時/實時數(shù)據(jù)備份。本地服務(wù)器目錄、不同機(jī)器、
     不同機(jī)房之間的數(shù)據(jù)備份。都可以用rsync完成。
  rsync功能特性:
    (1)支持拷貝普通文件與特殊文件,如鏈接文件,設(shè)備文件等。
    (2)支持排除指定文件或目錄同步的功能,相當(dāng)于打包命令tar的排除功能。
    (3)可以做到保持原文件或目錄的權(quán)限、時間、軟硬鏈接、屬主、組等所有屬性均不改變。
    (4)可實現(xiàn)增量復(fù)制,既只復(fù)制發(fā)生變化的數(shù)據(jù),因此數(shù)據(jù)傳輸效率很高。
    (5)可以使用rcp,rsh,ssh等方式來配合進(jìn)行隧道加密傳輸文件(rsync本身不對數(shù)據(jù)加密)。
    (6)可以通過socket(進(jìn)程方式)傳輸文件和數(shù)據(jù)(服務(wù)端和客戶端)*。
    (7)支持匿名或認(rèn)證(無需系統(tǒng)用戶)進(jìn)程模式傳輸,安全的進(jìn)行數(shù)據(jù)備份及鏡像
  增量復(fù)制原理:
      系統(tǒng)            rsync軟件版本          原理
       C5                     2.X         同步增量復(fù)制數(shù)據(jù)原理是把所有的文件比對一遍,然后在進(jìn)行數(shù)據(jù)同步。
       C6                     3.X         同步增量復(fù)制數(shù)據(jù)原理是一邊比對差異,一邊對差異的數(shù)據(jù)部分進(jìn)行同步。
  代碼層算法原理:https://coolshell.cn/articles/7425.html


2.全量與增量的區(qū)別   
   全量復(fù)制:
   [root@nfs01 ~]# cp -a /etc/ /opt/
   [root@nfs01 ~]# \cp -a /etc/ /opt
   [root@nfs01 ~]# touch /etc/oldboy.txt
   [root@nfs01 ~]# \cp -a /etc/ /opt/
   增量復(fù)制:
   只復(fù)制oldboy.txt

rsync三種工作模式

1.本地(local)。此時rsync是一個命令

     語法:rsync      [OPTION...]        SRC...           [DEST]
     rsync命令       參數(shù)選項       [源目錄或文件]      目的目錄或文件
 rsync命令:
     a.把數(shù)據(jù)從一個地方復(fù)制到另一個地方(僅在一臺機(jī)器增量),相當(dāng)于cp。
     b.通過加參數(shù)實現(xiàn)刪除文件和清空文件內(nèi)容的功能,相當(dāng)于rm命令。
     c.查看屬性信息功能,相當(dāng)于ls。
    (1).拷貝實踐
          [root@backup ~]# ls /opt
          [root@backup ~]# rsync /etc/hosts 
          /opt
          [root@backup ~]# ls /opt
          hosts
          [root@backup ~]# \cp /etc/hosts 
          /opt

          保持屬性:
          [root@backup ~]# rsync -zrtopg 
          /etc/hosts /opt/
          [root@backup ~]# ls -lhi /etc/hosts 
          /opt/hosts
          16829878 -rw-r--r--. 1 root root 332 4月  12 11:24 /etc/hosts
          71373 -rw-r--r--  1 root root 332 4月  12 11:24 /opt/hosts

       (2).刪除實踐
             刪除文件內(nèi)容:
             [root@backup ~]# touch /null.txt #空文件
             [root@backup ~]# cat /opt/hosts 
             127.0.0.1    localhost 
             localhost.localdomain localhost4 localhost4.localdomain4
             ::1          localhost localhost.localdomain localhost6 local
             ...........          (##此處省略)   
             172.16.1.61 m01

             [root@backup ~]# rsync --delete /null.txt /opt/hosts  #讓前面null.txt和后面hosts一樣
             rsync: --delete does not work without --recursive (-r) or --dirs (-d).
             rsync error: syntax or usage error (code 1) at main.c(1567) [client=3.1.2]
             [root@backup ~]# rsync -r --delete /null.txt /opt/hosts      ###刪除目錄+r
             [root@backup ~]# cat /opt/hosts 

             刪除目錄下所有文件:
             [root@backup ~]# mkdir /null 
             [root@backup ~]# rsync -r --delete /null/ /opt/       #讓后面opt和前面null目錄內(nèi)容保持一致
             [root@backup ~]# ls /opt/
          (3).查看屬性
             [root@backup ~]# rsync /etc/hosts
             -rw-r--r--            332 2019/04/12 11:24:41 hosts

2.rsync命令參數(shù)

     企業(yè)常用參數(shù)組合:-avz或者-vzrtopg
     詳細(xì)參數(shù):
         -v, --verbose 詳細(xì)模式輸出。
         -q, --quiet 精簡輸出模式。
         -c, --checksum 打開校驗開關(guān),強(qiáng)制對文件傳輸進(jìn)行校驗。
         -a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD。
         -r, --recursive 對子目錄以遞歸模式處理。
         -R, --relative 使用相對路徑信息。
         -b, --backup 創(chuàng)建備份,也就是對于目的已經(jīng)存在有同樣的文件名時,將老的文件重新命名為~filename。可以使用--suffix選項來指定不同的備份文件前綴。
         --backup-dir 將備份文件(如~filename)存放在在目錄下。
         -suffix=SUFFIX 定義備份文件前綴。
         -u, --update 僅僅進(jìn)行更新,也就是跳過所有已經(jīng)存在于DST,并且文件時間晚于要備份的文件,不覆蓋更新的文件。
         -l, --links 保留軟鏈結(jié)。
         -L, --copy-links 想對待常規(guī)文件一樣處理軟鏈結(jié)。
         --copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結(jié)。
         --safe-links 忽略指向SRC路徑目錄樹以外的鏈結(jié)。
         -H, --hard-links 保留硬鏈結(jié)。
         -p, --perms 保持文件權(quán)限。
         -o, --owner 保持文件屬主信息。
         -g, --group 保持文件屬組信息。
         -D, --devices 保持設(shè)備文件信息。
         -t, --times 保持文件時間信息。
         -S, --sparse 對稀疏文件進(jìn)行特殊處理以節(jié)省DST的空間。
         -n, --dry-run現(xiàn)實哪些文件將被傳輸。
         -w, --whole-file 拷貝文件,不進(jìn)行增量檢測。
         -x, --one-file-system 不要跨越文件系統(tǒng)邊界。
         -B, --block-size=SIZE 檢驗算法使用的塊尺寸,默認(rèn)是700字節(jié)。
         -e, --rsh=command 指定使用rsh、ssh方式進(jìn)行數(shù)據(jù)同步。
         --rsync-path=PATH 指定遠(yuǎn)程服務(wù)器上的rsync命令所在路徑信息。
         -C, --cvs-exclude 使用和CVS一樣的方法自動忽略文件,用來排除那些不希望傳輸?shù)奈募?         --existing 僅僅更新那些已經(jīng)存在于DST的文件,而不備份那些新創(chuàng)建的文件。
         --delete 刪除那些DST中SRC沒有的文件。
         --delete-excluded 同樣刪除接收端那些被該選項指定排除的文件。
         --delete-after 傳輸結(jié)束以后再刪除。
         --ignore-errors 及時出現(xiàn)IO錯誤也進(jìn)行刪除。
         --max-delete=NUM 最多刪除NUM個文件。
         --partial 保留那些因故沒有完全傳輸?shù)奈募允羌涌祀S后的再次傳輸。
         --force 強(qiáng)制刪除目錄,即使不為空。
         --numeric-ids 不將數(shù)字的用戶和組id匹配為用戶名和組名。
         --timeout=time ip超時時間,單位為秒。
         -I, --ignore-times 不跳過那些有同樣的時間和長度的文件。
         --size-only 當(dāng)決定是否要備份文件時,僅僅察看文件大小而不考慮文件時間。
         --modify-window=NUM 決定文件是否時間相同時使用的時間戳窗口,默認(rèn)為0。
         -T --temp-dir=DIR 在DIR中創(chuàng)建臨時文件。
         --compare-dest=DIR 同樣比較DIR中的文件來決定是否需要備份。
         -P 等同于 --partial。
         --progress 顯示備份過程。
         -z, --compress 對備份的文件在傳輸時進(jìn)行壓縮處理。
         --exclude=PATTERN 指定排除不需要傳輸?shù)奈募J健?         --include=PATTERN 指定不排除而需要傳輸?shù)奈募J健?         --exclude-from=FILE 排除FILE中指定模式的文件。
         --include-from=FILE 不排除FILE指定模式匹配的文件。
         --version 打印版本信息。
         --address 綁定到特定的地址。
         --config=FILE 指定其他的配置文件,不使用默認(rèn)的rsyncd.conf文件。
         --port=PORT 指定其他的rsync服務(wù)端口。
         --blocking-io 對遠(yuǎn)程shell使用阻塞IO。
         -stats 給出某些文件的傳輸狀態(tài)。
         --progress 在傳輸時現(xiàn)實傳輸過程。
         --log-format=formAT 指定日志文件格式。
         --password-file=FILE 從FILE中得到密碼。
         --bwlimit=KBPS 限制I/O帶寬,KBytes per second。

3.遠(yuǎn)程Shell模式

  借助類似ssh隧道傳輸數(shù)據(jù),適合不同的機(jī)器之間復(fù)制。
  異地拷貝,相當(dāng)于scp,區(qū)別scp是遠(yuǎn)程全量拷貝)
1.pull拉:從遠(yuǎn)端拉取到本地
  語法:  rsync        [OPTION...]     [USER@]HOST:SRC...               [DEST]
  rsync命令           參數(shù)選項         [認(rèn)證用戶]@[主機(jī)地址]:[源路徑]     本地路徑
2.push推:從本地推到遠(yuǎn)端
   語法:rsync        [OPTION...]    SRC...     [USER@]HOST:[DEST]        
        rsync命令     參數(shù)選項       本地路徑    [認(rèn)證用戶]@[主機(jī)地址]:[目標(biāo)路徑]
3.push實踐:
  [root@nfs01 ~]# rsync -avz /etc/hosts root@172.16.1.41:/opt/ #加密傳輸。
  The authenticity of host '172.16.1.41 (172.16.1.41)' can't be established.
  ECDSA key fingerprint is SHA256:qZSBkrmOv7xO/63qOU1uLXkPyNVHdkqvrNAcAmXqNEk.
  ECDSA key fingerprint is MD5:23:d0:cb:a9:f4:7c:0b:eb:2d:07:00:e1:a3:12:d8:33.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added '172.16.1.41' (ECDSA) to the list of known hosts.
  root@172.16.1.41's password: 
  sending incremental file list
  hosts

  sent 219 bytes  received 35 bytes  14.51 bytes/sec
  total size is 332  speedup is 1.31
   檢查:
   [root@backup ~]# cd /opt/
   [root@backup /opt]# ls
   hosts
 a.rsync -avz /etc/hosts root@172.16.1.41:/opt/
 b.rsync -avz /etc/hosts -e "ssh -p 22" root@172.16.1.41:/opt/
   上述命令是等價的。-e 指定通道  ssh ssh服務(wù)連接客戶端  -p 22指定22端口。
   [root@nfs01 ~]# rsync -avz /etc/hosts -e "ssh -p 22" root@172.16.1.41:/opt/
   root@172.16.1.41's password: 
   sending incremental file list

   sent 44 bytes  received 12 bytes  22.40 bytes/sec
   total size is 332  speedup is 5.93
4.pull實踐
   rsync -avz root@172.16.1.41:/opt/hosts /opt
   rsync -avz -e "ssh -p 22" root@172.16.1.41:/opt/hosts /opt
5.rsync目錄與目錄下
   null個null/區(qū)別,null是目錄和目錄下的內(nèi)容
   null/只是目錄下的內(nèi)容,不含本身

3.rsync守護(hù)進(jìn)程模式

   首先要搭建rsync服務(wù)端(要有守護(hù)進(jìn)程),然后才能在客戶端實現(xiàn)推拉數(shù)據(jù)。
   rsync服務(wù)模式:*****開啟后臺進(jìn)程,接受別人訪問。

rsync守護(hù)進(jìn)程模式應(yīng)用實踐

1.backup服務(wù)器

(1)以下操作都是在backup服務(wù)器
    1.安裝
      [root@backup ~]# rsync --version
      rsync  version 3.1.2  protocol version 
      31
      [root@backup ~]# yum install rsync(不需要)

    2.配置配置文件/etc/rsyncd.conf
      cp /etc/rsyncd.conf{,.ori}   #備份文件
      cat>/etc/rsyncd.conf<<EOF   #編輯備份文件
      #rsync_config_______________start
      #created by oldboy    
      #site: http://www.oldboyedu.com
      uid = rsync     #管理備份目錄的用戶
      gid = rsync     #管理備份目錄的用戶組
      use chroot = no   #安全功能,數(shù)據(jù)是否鎖定到備份目錄
      fake super = yes
      max connections = 200   #并發(fā)連接,同時多少客戶端訪問
      timeout = 600 #超時時間
      pid file = /var/run/rsyncd.pid   #進(jìn)程號所在文件
      lock file = /var/run/rsync.lock   #鎖文件
      log file = /var/log/rsyncd.log    #日志文件,查看報錯等
      ignore errors   #忽略錯誤
      read only = false    #可寫
      list = false    #不允許列表
      hosts allow = 172.16.1.0/24   #哪些主機(jī)可以訪問
      hosts deny = 0.0.0.0/32   #哪些主機(jī)不允許訪問
      auth users = rsync_backup   #遠(yuǎn)程虛擬連接用戶
      secrets file = /etc/rsync.password   #存放密碼的文件:格式:用戶名:密碼 權(quán)限  必須600
      [backup]   #【模塊名】遠(yuǎn)程訪問使用模塊名訪問
      comment = welcome to oldboyedu #說明注釋
      path = /backup/   #服務(wù)端用戶備份的目錄,用戶和組,rsync.rsync
      EOF
      man rsync 查命令的參數(shù)
      man rsyncd.conf 查配置參數(shù)    
      https://www.samba.org/ftp/rsync/rsync.html

    3.創(chuàng)建用戶和備份目錄
      [root@backup ~]# useradd rsync
      [root@backup ~]# id rsync
      uid=1001(rsync) gid=1001(rsync) 組=1001(rsync)
      [root@backup ~]# mkdir -p /backup
      [root@backup ~]# chown -R rsync.rsync /backup/
      [root@backup ~]# ls -ld /backup/
      drwxr-xr-x 2 rsync rsync 6 4月  15 12:12 /backup/
    
    4.啟動和檢查
      a.檢查與開啟rsyncd服務(wù)
          rsync --daemon(c6及以前)
          C7:
          systemctl start rsyncd      
          systemctl enable rsyncd
          systemctl status rsyncd
       b.檢查進(jìn)程
          ps -ef|grep sync|grep -v grep 
       c.檢查rsync端口(相關(guān)面試題:如何查看某端口對應(yīng)什么服務(wù)?)
          netstat -lntup|grep 873 
          lsof -i :873
      5.配置密碼文件
        [root@backup ~]# echo "rsync_backup:oldboy" > /etc/rsync.password
        [root@backup ~]# chmod 600 /etc/rsync.password
        [root@backup ~]# cat /etc/rsync.password
        rsync_backup:oldboy
        [root@backup ~]# ls -l /etc/rsync.password
        -rw------- 1 root root 20 4月  15 11:51 /etc/rsync.password
       # rsync服務(wù)端配置完成。

2.客戶端服務(wù)器

方法1:認(rèn)證密碼文件
  [root@nfs01 ~]# echo "oldboy" > /etc/rsync.password
  [root@nfs01 ~]# chmod 600 /etc/rsync.password
  [root@nfs01 ~]# cat /etc/rsync.password
  oldboy
  [root@nfs01 ~]# ls -l 
  /etc/rsync.password
  -rw------- 1 root root 7 4月  15 11:55 /etc/rsync.password
方法2:
   [root@nfs01 ~]# echo ' export RSYNC_PASSWORD=oldboy' >>/etc/bashrc 
   [root@nfs01 ~]# tail -1 /etc/bashrc 
   export RSYNC_PASSWORD=oldboy
   [root@nfs01 ~]# . /etc/bashrc 
   [root@nfs01 ~]# echo $RSYNC_PASSWORD
   oldboy
   #rsync客戶端 nfs01 配置完成

3.守護(hù)進(jìn)程模式,客戶端rsync的命令語法:

 配置服務(wù)器端守護(hù)進(jìn)程,實現(xiàn)數(shù)據(jù)傳輸:
  a.服務(wù)端守護(hù)進(jìn)程。   b.客戶端執(zhí)行命令。
 1.pull拉:從遠(yuǎn)端取到本地。
   語法1(常用):
       rsync        [OPTION...]  [USER@]HOST::SRC...                  [DEST]
       rsync命令      參數(shù)選項    [虛擬用戶]@[主機(jī)地址]::[模塊名]         本地路徑
   語法2:
       rsync        [OPTION...] rsync://[USER@]HOST::SRC...               [DEST]
       rsync命令    參數(shù)選項   rsync://[虛擬用戶]@[主機(jī)地址]/[模塊名]       本地路徑
 2.push,推:從本地推到遠(yuǎn)端。
   語法1(常用):                 
       rsync        [OPTION...]   [DEST]    [USER@]HOST::SRC...                  
       rsync命令      參數(shù)選項      本地路徑      [虛擬用戶]@[主機(jī)地址]::[模塊名]         

   語法2:                    
       rsync        [OPTION...]    [DEST]       rsync://[USER@]HOST::SRC...              
       rsync命令      參數(shù)選項      本地路徑      rsync://[虛擬用戶]@[主機(jī)地址]/[模塊名]  

4.測試結(jié)果

錯誤1:
    [root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
     @ERROR: invalid uid rsync
     rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]
解答:
     [root@backup ~]# useradd rsync
     [root@backup ~]# id rsync
     uid=1001(rsync) gid=1001(rsync) 組=1001(rsync)
     [root@backup ~]# mkdir -p /backup
     [root@backup ~]# chown -R rsync.rsync /backup/
     [root@backup ~]# ls -ld /backup/
     drwxr-xr-x 2 rsync rsync 6 4月  15 12:12 /backup/

錯誤2:
     [root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
     sending incremental file list
     hosts
     rsync: chgrp ".hosts.YDuTjO" (in backup) failed: Operation not permitted (1)

     sent 223 bytes  received 124 bytes  694.00 bytes/sec
     total size is 332  speedup is 0.96
     rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
解答:增加如下參數(shù)到/etc/rsyncd.conf
     fake  super  = yes #不用root用戶也可以存儲文件的完整屬性。
     This allows the full attributes of a file to  be  stored  without having to have the daemon actually running as root.
     [root@backup ~]# grep fake /etc/rsyncd.conf
     fake super = yes

     改完配置,要重啟服務(wù):
     [root@backup ~]# systemctl restart rsyncd
     再測試:成功
     [root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
     sending incremental file list
     hosts

     sent 89 bytes  received 49 bytes  276.00 bytes/sec
     total size is 332  speedup is 2.41

     rsync -avz /etc rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
     
     服務(wù)端檢查:
     [root@backup ~]# ls /backup/
     hosts
     [root@backup ~]# ls /backup/
     etc  hosts
     如果客戶端按照環(huán)境變量的方式配置,則可以忽略--password-file=/etc/rsync.password參數(shù)。
     [root@nfs01 ~]# rsync -avz /etc rsync_backup@172.16.1.41::backup
     sending incremental file list

     sent 52,071 bytes  received 644 bytes  105,430.00 bytes/sec
     total size is 31,244,350  speedup is 592.70
     測試增量
     [root@nfs01 ~]# touch /etc/oldboy.txt
     [root@nfs01 ~]# rsync -avz /etc rsync_backup@172.16.1.41::backup
     sending incremental file list
     etc/oldboy.txt

     sent 52,098 bytes  received 655 bytes  105,506.00 bytes/sec
     total size is 31,244,350  speedup is 592.28
    (OVER)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容