日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...

發布時間:2024/9/27 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文出處:?http://blog.csdn.net/five3/article/details/8648484

最近需要寫一個腳本備份各個服務器上的程序到一個指定服務器上,本來以為查查rsync命令的使用321就能搞定,結果rsync命令要支持自動登錄還是要配置服務和參數,又不確定網上說的配置的行不行,因為都是一個樣,但是沒有說明頭尾,所以選擇了一個嘗試代價較小的ssh自動登錄來替代之。

ssh大家都能用到,通常我們用到的功能基本就是登錄,或者遠程執行shell命令。

##登錄

ssh?loginuser@host_or_ip

##執行遠程命令

ssh?loginuser@host_or_ip?commands

但通常要是執行命令的話,都是執行shell腳本,肯定不想每次自己再輸入密碼,就不能自動化也就少了快感啦。所以要讓ssh能自動登錄,方法好像有很多,這里就用嘗試代價最小的,公鑰認證的方式。具體操作見下:

A:為本地機

B:為遠程服務器【被登錄】

1、在A上生成ssh的私鑰和公鑰【生成的文件都在~/.ssh目錄下】

ssh-keygen?-t?rsa?????##需要3次回車

ssh-keygen?-t?rsa?-P??##僅一次回車

2、把A的公鑰內容傳到B的用戶目錄的.ssh文件夾下的authorized_keys文件中

scp?~/.ssh/id_rsa.pub?B_user@B_host_or_ip:~/.ssh/authorized_keys??##希望每次自動登錄用什么用戶,這里的B_user就用什么帳號,因為默認會考到這個帳號下.ssh中

注意:一定要把內容放到authorized_keys文件里,如果這個文件已經存在,那就追加到后面即可,不要覆蓋了。

3、A再用ssh進行操作時就不需要輸入密碼了

ssh?B_user@B_host_or_ip??##直接登錄成功

SCP和ssh是一套的,只不過這個工具用來在linux之間進行文件傳輸的,用的和ssh一樣的安全傳輸協議。所以在ssh能夠自動登錄之后,使用scp命令進行服務器間的文件復制也就不要手動輸入密碼了,其實這樣此時已經可以實現shell腳本自動備份文件的功能了,因為scp就是一個服務器間的copy程序,scp就是安全copy的意思,scp常用的命令為:

scp?/path/to/source?user@des:/path/to/local???##本地賦值到遠程

scp?user@source:/path/to/source?/path/to/local??##遠程復制到本地

Rsync

命令是一個遠程同步程序,與scp相比,它可以以最小的代價備份文件,只備份有差異的文件,這樣每次備份就少了很多時間,此外在傳輸協議上除了自身的協議之外,還支持以ssh的方式傳輸。只要加個ssh參數即可,常用的命令格式:

rsync?-avH?[ssh]?/path/to/source?user@des:/path/to/local??##本地同步到遠程,推

rsync?-avH?[ssh]?user@des:/path/to/source?/path/to/local??##遠程同步到本地,拉

同樣的,這個命令在ssh能夠自動登錄后就可以不用輸入密碼就可以自動同步文件了,當然這個工具自己也可以支持不輸入密碼的命令,--password-file=/path/to/pwd,只不過還需要配置rsync服務,比較麻煩,以后有必要了再試。

shell能自動執行備份了,還有就是希望能定期自己備份,別老是人去觸發,這個時候就用到linux的任務計劃命令crontab,其常用的命令格式為:

*?*?*?*?*?/command_path

前5個*依次代表

分鐘:0-59

小時:1-23

日期:1-31

月份:1-12

星期:0-6(0表示周日)

還可以用一些特殊符號:

*:?表示任何時刻

,: 表示分割

-:表示一個段,如第二端里:?1-5,就表示1到5點

/n :?表示每個n的單位執行一次,如第二段里,*/1,?就表示每隔1個小時執行一次命令。也可以寫成1-23/1.

00?8,12,16?*?*?*?/dataapp.sh

30?2?*?*?*?/dataapp.sh

10?8,12,16?*?*?*??/dataapp.sh

10?8,12,16?*?*?*??/dataapp.sh

10?8,12,16?*?*?*??/dataapp.sh

總結

以上是生活随笔為你收集整理的Linux用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。