linux兩臺服務器互相備份文件(sshpass + crontab)

crontab

crontab是linux系統自帶的定時調度軟件,可用于設置周期性被執行的指令,一般用在每天的非高峰負荷時間段運行作業,可在無需人工干預的情況下運行作業。支持在一周或一月中的不同時段運行。
crontab命令允許用戶提交、編輯或刪除相應的作業。每一個用戶都可以有一個crontab文件來保存調度信息。服務器備份文件,我們要用crontab執行周期性的備份工作。

sshpass

sshpass 可在不直接輸入密碼的情況下,通過 SSH 連接到遠程主機并執行命令。與手動輸入憑據相比,sshpass 避免了手動輸入密碼,提高自動化流程的執行效率。兩臺服務器之間互相備份文件,要用到sshpass連接并傳輸文件。

步驟

1、創建sh文件,如下:

#!/bin/sh
source?/etc/profile#設置備份的源文件夾
backup_source=/home/admin/sh
#設置目的服務器地址 
remote_username=admin
remote_ip=10.10.11.60
remote_password=qwer123
remote_folder=/home/admin/sk#創建備份的緩存文件夾backup_home
backup_home=/home/admin/backup_home
if [ ! -d ${backup_home} ];thenmkdir ${backup_home}if [ $? -eq 0 ]; thenecho "緩存文件夾創建成功"elseecho "緩存文件夾創建失敗"exit 1fi
elseecho "緩存文件夾已經存在"
fi#壓縮文件到backup_home
date=$(date +%Y%m%d)
zip -q -r ${backup_home}/${date}.zip ${backup_source}
if [ $? -eq 0 ]; thenecho "文件壓縮成功"
elseecho "文件壓縮失敗"exit 1
fi#從本地復制到遠程
sshpass -p ${remote_password} scp ${backup_home}/${date}.zip ${remote_username}@${remote_ip}:${remote_folder} 
if [ $? -eq 0 ]; thenecho "從本地復制到遠程成功"
elseecho "從本地復制到遠程失敗"exit 1
fi#刪除backup_home下超過7天的zip文件
find ${backup_home} -mtime +7 -name "*.zip" -exec rm -rf {} \;

這是一個可執行的sh文件。注意:該文件創建后,需要用chmod對此文件授權為“可執行文件”,如下:

//test.sh 是文件名
chmod +x test.sh

2、安裝sshpass

yum install sshpass

3、將sh命令文件加入crontab的運行周期

//添加周期性任務
crontab -e//進入編輯狀態
35 * * * * /home/admin/sd/test.sh >> /home/admin/backup_home/log.txt//重啟crontab
systemctl restart crond.service

4、對服務器互相傳輸文件動作進行授權。

?注意:這一步不能省略。否則,crontab執行任務時會因為未授權而傳輸文件失敗。一定要先授權,再讓crontab啟動備份任務。

成果展示:

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40157.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40157.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40157.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

滴滴Ceph分布式存儲系統優化之鎖優化

摘自:https://mp.weixin.qq.com/s/oWujGOLLGItu1Bv5AuO0-A 2020-09-02 21:45 0.引言 Ceph是國際知名的開源分布式存儲系統,在工業界和學術界都有著重要的影響。Ceph的架構和算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat…

Transformers架構系列---transformers庫的使用

Transformers最初是由Google發布的論文 Attention is All You Need (2017) 提出的一種新的深度學習網絡架構,這篇論文證明了序列模型(如 LSTM)可以完全被注意力機制取代,甚至可以獲得更好的性能。Transformers網絡結構自2017年提出之后僅僅一兩年的時間內就一直在NLP領域及…

Vue:使用Promise.all()方法并行執行多個請求

在Vue中,可以使用Promise.all()方法來并行執行多個請求。當需要同時執行多個異步請求時,可以將這些請求封裝為Promise對象并使用Promise.all()方法來執行它們。 示例1: 以下是一個示例代碼,展示了如何通過Promise.all()方法并行…

C語言——動態內存管理

動態內存管理詳解 前言:一、為什么存在動態內存分配二、動態內存函數2.1malloc函數2.2calloc函數2.3realloc函數2.4free函數 三、常見的動態內存錯誤3.1 對NULL指針解引用操作3.2 對動態開辟空間的越界訪問3.3 對非動態開辟內存使用free釋放3.4 使用free釋放動態開辟…

Unity UI內存泄漏優化

項目一運行,占用的內存越來越多,不會釋放,導致GC越來越頻繁,越來越慢,這些都是為什么呢,今天從UI方面談起。 首先讓我們來聊聊什么是內存泄漏呢? 一般來講內存泄漏就是指我們的應用向內存申請…

Rabbitmq消息不丟失

目錄 一、消息不丟失1.消息確認2.消息確認業務封裝2.1 發送確認消息測試2.2 消息發送失敗,設置重發機制 一、消息不丟失 消息的不丟失,在MQ角度考慮,一般有三種途徑: 1,生產者不丟數據 2,MQ服務器不丟數據…

設計HTML5列表和超鏈接

在網頁中,大部分信息都是列表結構,如菜單欄、圖文列表、分類導航、新聞列表、欄目列表等。HTML5定義了一套列表標簽,通過列表結構實現對網頁信息的合理排版。另外,網頁中還包含大量超鏈接,通過它實現網頁、位置的跳轉&…

C語言“牽手”微店商品詳情數據方法,微店商品詳情API接口申請指南

微店平臺的商品詳情通常包括以下信息: 商品名稱:展示商品的名稱,用于描述商品的特性和分類。 商品圖片:展示商品的圖片,可以有多張圖片以展示不同角度和細節。 商品價格:顯示商品的銷售價格,可…

nodejs服務后臺持續運行三種方法

nodejs服務后臺持續運行三種方法 一、利用 forever 推薦 forever是一個nodejs守護進程,完全由命令行操控。forever會監控nodejs服務,并在服務掛掉后進行重啟。 1、安裝 forever npm install forever -g 2、啟動服務 service forever start 3、使用…

小程序CSS button按鈕自定義高度之后不居中

問題&#xff1a; 按鈕設置高度后不居中 <view><button class"btn1" size"">Save</button> </view> page {font-size: 30rpx; }.btn1 {margin-top: 100rpx;height: 190rpx;background: linear-gradient(90deg, #FF8A06, #FF571…

Wi-Fi 安全在學校中的重要性

Wi-Fi 是教育機構的基礎設施&#xff0c;從在線家庭作業門戶到虛擬教師會議&#xff0c;應有盡有。大多數 K-12 管理員對自己的 Wi-Fi 網絡的安全性充滿信心&#xff0c;并認為他們現有的網絡安全措施已經足夠。 不幸的是&#xff0c;這種信心往往是錯誤的。Wi-Fi 安全雖然經常…

【數據結構OJ題】鏈表中倒數第k個結點

原題鏈接&#xff1a;https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId13&&tqId11167&rp2&ru/activity/oj&qru/ta/coding-interviews/question-ranking 目錄 1. 題目描述 2. 思路分析 3. 代碼實現 1. 題目描述 2. 思路分析 …

VectorStyler for Mac: 讓你的創意無限綻放的全新設計工具

VectorStyler for Mac是一款專為Mac用戶打造的矢量設計工具&#xff0c;它結合了功能強大的矢量編輯器和創意無限的樣式編輯器&#xff0c;讓你的創意無限綻放。 VectorStyler for Mac擁有直觀簡潔的用戶界面&#xff0c;讓你能夠輕松上手。它提供了豐富的矢量繪圖工具&#x…

JavaWeb博客項目--推薦算法--完整代碼及思路

基于用戶的協同過濾算法&#xff08;UserCF&#xff09; 因為我寫的是博客項目&#xff0c;博客數量可能比用戶數量還多 所以選擇基于用戶的協同過濾算法 重要思想 當要向用戶u進行推薦時&#xff0c;我們先找出與用戶u最相似的幾個用戶&#xff0c;再從這幾個用戶的喜歡的物…

數據可視化和數字孿生相互促進的關系

數據可視化和數字孿生是當今數字化時代中備受關注的兩大領域&#xff0c;它們在不同層面和領域為我們提供了深入洞察和智能決策的機會&#xff0c;隨著兩種技術的不斷融合發展&#xff0c;很多人會將他們聯系在一起&#xff0c;本文就帶大家淺談一下二者之間相愛相殺的關系。 …

Springboot集成ip2region離線IP地名映射-修訂版

title: Springboot集成ip2region離線IP地名映射 date: 2020-12-16 11:15:34 categories: springboot description: Springboot集成ip2region離線IP地名映射 1. 背景2. 集成 2.1. 步驟2.2. 樣例2.3. 響應實例DataBlock2.4. 響應實例RegionAddress 3. 打開瀏覽器4. 源碼地址&…

OpenShift 4 - 基于 MinIO 安裝 Red Hat Quay 鏡像倉庫

《OpenShift / RHEL / DevSecOps 匯總目錄》 說明&#xff1a;本文已經在 OpenShift 4.13 Quay 3.9 的環境中驗證 本文適合在單機 OpenShift 環境安裝 Red Hat Quay 鏡像倉庫。 另外《OpenShift 4 - 安裝 ODF 并部署紅帽 Quay (1 Worker)》也可以在單節點部署。 而《OpenShif…

前后端分離------后端創建筆記(11)用戶刪除

B站視頻&#xff1a;30-用戶刪除&結束語_嗶哩嗶哩_bilibili 1、現在我們要做一個刪除的功能 1.1 首先做一個刪除的功能接口&#xff0c;第一步先來到后端&#xff0c;做一個刪除的接口 2、刪除我們用Delete請求 3、方法名我給他改一下 3.1這里給他調一下刪除方法&#xf…

Java 中 List 集合排序方法

方式一&#xff1a; 調用List接口自己的sort方法排序 public static void main(String[] args) {List<Integer> numListnew ArrayList<>();numList.add(999);numList.add(123);numList.add(456);numList.add(66);numList.add(9);Collections.sort(numList); //使…