1. 程式人生 > >[Linux] 伺服器映象定時備份解決方案 crontab+rsync+flock

[Linux] 伺服器映象定時備份解決方案 crontab+rsync+flock

兩臺伺服器定時同步檔案解決方案:

環境:

主機:192.168.1.1 映象機:192.168.1.2 需要將主機內容備份至映象機(假設使用者都為root)
備份內容為 /export 目錄下所有內容至映象機的/export目錄下

首先,配置ssh免密登陸:

在映象機上執行:ssh-keygen -t rsa
然後cat ~/.ssh/id_rsa.pub
將內容複製到主機的 ~/.ssh/authorized_keys下(最後一行最好是空行)
(這樣一來主機就記住了映象機的身份,映象機即可免密登陸)

第二步,在映象機寫好同步指令碼(使用rsync):

vim /root/backup_rsync
#/bin/bash
rsync -avuz 
[email protected]
:/export/* /export >> /root/backup_rsync.log (解釋:引數a是歸檔模式,v為詳細輸出,u為只同步更新的檔案或不存在的檔案,z是同步時先壓縮,然後將輸出重定向到rsync.log檔案中記錄日誌)

第三步,在映象機配置crontab,使用flock檔案鎖防止同步指令碼併發執行:

crontab -e
*/5 * * * * flock -xn /root/backup_rsync.lock -c /root/backup_rsync
(解釋:-n為非阻塞模式,當試圖設定鎖失敗,採用非阻塞模式,直接返回1,-c後跟要執行的命令,這裡crontab每五分鐘跑一次)

第四步,監控同步資訊

tailf /root/backup_rsync.log

大功告成,可在主機上輸入top觀察rsync程序

相關推薦

[Linux] 伺服器映象定時備份解決方案 crontab+rsync+flock

兩臺伺服器定時同步檔案解決方案: 環境: 主機:192.168.1.1 映象機:192.168.1.2 需要將主機內容備份至映象機(假設使用者都為root) 備份內容為 /export 目錄下所

linux伺服器定時備份 mysql 資料庫

<span style="font-size:14px;color:#330033;">#!/bin/bash db_name=enocp_sta file_name="$db_name"_$(date +%Y%m%d_%H%M) dir=/root/backup/mysql/`date +%Y_

記一次更新glibc庫導致Linux伺服器無法啟動的解決方案

簡記: 由於某種原因將glibc庫從2.12更新到2.14,期間使用的是sudo,更新的最後提示失敗,但是檢視/lib64目錄下相關庫檔案都已經更新。然後就沒有在意錯誤提示。第二天上班的時候有同事反應無法登陸伺服器。但我自己早晨開的幾個crt視窗都已經正常登陸了,聽同事反饋

Linux中yum命令映象源出錯解決方案

好頭疼,最近虛擬機器中的linux系統一直不能安裝東西,只要install就報找不到可用的連結源。。。但是要安裝東西啊,所以就著手解決下。 解決方法:更換源 1.備份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yu

分享Windows伺服器網站檔案同步備份解決方案之cwRsyn進行檔案同步

本文和大家分享Windows伺服器網站檔案同步備份解決方案,來自部落格園dudu的文章。對於一個網站來說,使用者上傳檔案的同步備份是必需要解決的問題。對於有著巨量上傳檔案的大型網站,一般採用分散式儲存系統。而對於上傳檔案量不是很大的網站,只要在另外一臺伺服器上儲存上傳檔案的同

mysql資料庫定時備份linux伺服器資料異地備份

一:備份mysql資料庫(1)編寫備份指令碼#!/bin/bash #設定mysql備份目錄 folder=/home/javaweb/rsc/mysql/rsc-boot cd $folder day=`date +%Y%m%d` rm -rf $day mkdir $da

dotnet core Linux下圖片驗證碼解決方案

https tps 3.0 驗證碼 code 地址 hub 圖片 dot 方案來源:https://github.com/zkweb-framework/zkweb.system.drawing 百度大多都是安裝libgdiplus方法 不說了 然後驗證碼亂碼問題在上面地址

bashrc文件中環境變量配置錯誤,導致linux無法正常使用的解決方案

net linu csdn 修改 配置錯誤 https nbsp 導致 登陸 步驟1:輸入命令export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

伺服器資料恢復的正確方法/伺服器硬碟故障的解決方案

[伺服器資料恢復原因推斷] 伺服器資料丟失情況很多,通常無法明確伺服器資料丟失的原因,常見的丟失原因有:伺服器硬碟出現故障,管理員或者伺服器自動進行fsck操作,這一操作可能造成更加嚴重資料丟失或者導致伺服器資料恢復的難度增加。伺服器資料丟失後執行mkfs操作,若操作未完成則容易導致部分塊組全部為0。或者管

Linux伺服器防攻擊的各種方案

Linux伺服器防襲擊的各類計劃 信任入席站長都對伺服器襲擊很敏感,誰都經驗過,這裡就給大夥分享一下Linux伺服器防襲擊的各類計劃。       1、使用防火牆   1、Linux自帶防火牆 Centos6下command service iptab

CentOS/Linux伺服器的記憶體不夠解決方法

又由於我安裝其他工具,提示我記憶體不足,所以想用提高虛擬記憶體的方法去安裝這個軟體,本來都已經安裝完了,今天我手賤把Linux重啟了一下,沒看仔細,不過也不是壞事情,正好記錄下設定過程,以便下次再重啟的時候方便設定! 1.開啟終端,切換到root使用者,輸入:free -m檢視記憶體狀態[[email

xShell連線Linux伺服器提示拒絕密碼 解決方法

xShell連線Linux伺服器提示拒絕密碼。 1、檢查虛擬機器SSH服務是否開啟: service sshd status,如果沒有開啟,請執行service sshd start啟動該服務,或者通過service sshd restart重啟該服務; 2、檢查 /etc/ssh/

Linux 系統出現電流音解決方案

dex spa 性能 導致 資料 target lin evel eve 迫於Windows 系統最近的各種故障,今天脫坑換了openSUSE Linux ,在上網途中播放視頻時偶爾會出現電流音,雖然影響不大,但是還是進行了一些排查。 通過觀察電流音出現時的系統負載的波段,

使用 spring封裝的javamail linux伺服器傳送郵件失敗解決

原文參考:https://blog.csdn.net/a540891049/article/details/79385471 由於某些平臺的linxu伺服器為了安全起見 遮蔽了傳送郵件的常用埠  25、465、587 下面我用QQ郵箱舉例子   用Linux

Linux中mysql自啟解決方案

由於MySQL有一個守護程序,MySQL_safe這樣的,所以每次強制殺死,它都會自動啟動 [[email protected] ~]# netstat -nlp | grep 3306 tcp 0 0 0.0.0.0:3306 0

centos7搭建高可用負載均衡伺服器及常見錯誤解決方案

本文章基於centos7版本安裝nginx+keepalived高可用伺服器,在yum命令可用情況下安裝: 1.安裝編譯環境 yum install gcc-c++; 2.安裝PCRE庫:yum install -y pcre pcre-devel; 3.安裝zlib庫

Java定時任務解決方案

很多專案中都會遇到需要定時任務的情況,本篇文章就結合了Spring中以及SpringBoot、SpringCloud中定時任務的解決方案。 在Spring中使用定時器 用SpringBoot比較多的同學可能都會覺得Spring的xml配置確實比較麻煩,如果想在Spr

Linux系統中定時任務cron和crontab命令詳解與配置規則說明

cron機制         cron可以讓系統在指定的時間,去執行某個指定的工作,我們可以使用crontab指令來管理cron機制 crontab引數         -u:這個引數可以讓我們去編輯其他人的crontab,如果沒有加上這個引數的話就會開啟自己的crontab

linux檔案誤刪恢復解決方案

假設被刪目錄:/your/path 暫停所有讀寫的程式如採集/網站等. 設定被刪目錄所在分割槽為只讀模式. 由於/your/path/被刪,直接df父目錄# df /your查詢所在分割槽 以得到的分割槽名/dev/path為例, 設為只讀:mount -o rw,remo

nginx 訪問圖片上傳伺服器出現403錯誤解決方案

近期在nginx+ftp搭建圖片上傳伺服器的時候,在瀏覽器訪問圖片路徑出現403錯誤,經蒐集各位大神的回答,整理以下內容: 大家可以按下面的介紹,一一排除自己的問題,歡迎大家指正! 1、首先檢視nginx的配置檔案 vi /usr/local/nginx/conf/ng