2016-08-04 79 views
0

我想編寫一個shell腳本並將其放入cron中。這個shell腳本會每天將一個特定的目錄從我的服務器複製到另一個服務器。所以,我不希望它提示輸入密碼。有什麼我可以添加在我的腳本,以便它不會每天要求密碼?Shell腳本將一個目錄從一臺服務器複製到另一臺,而不要求輸入密碼

+0

你會希望看到[**如何設置**兩個不同的帳戶之間的密碼無認證(http://stackoverflow.com/questions/ 36171227/how-to-setup-the-passwords-less-authentication-between-two-different-accounts/36172337?s = 1 | 0.4401#36172337),然後使用'cron'腳本中的'rsync'來備份文件host1到host2。 –

回答

1

你需要有一個密碼少SSH登錄在你的Unix機器

下面的鏈接描述瞭如何設置密碼少SSH登錄

http://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/

您可以使用FTP或NDM傳輸文件

以這種方式你可以達到你的要求。

+1

我可以使用rsync嗎?因爲我需要這個腳本每天運行,所以不是一次又一次地複製,而只是更新。如果這是可能的,然後解釋如何? –

+0

我從來沒有在我的情況下使用rsync,我們每天都會得到新的新文件,所以我們每天覆制 – Bhavesh

+1

使用這個腳本我能夠實現我之前提到的: com =「sshpass -p Password0 scp [email protected]:/ home /arul/test.sh「。 eval $ com –

1

使用下面的腳本,我能夠實現我提到:

#/斌/慶典 COM =「sshpass -p Password0 SCP [email protected]:/家庭/了Arul /測試.sh「。 eval $ com

0

您也可以爲此使用RSA密鑰選項。使用RSA密鑰,您可以授權第一臺服務器中的第二臺服務器。這是一次性操作。

ssh-copy-id -i ~/.ssh/id_rsa.pub [Your 2nd server IP] 

例子: -

[[email protected] home]# ssh-copy-id -i ~/.ssh/id_rsa.pub xxx.xxx.xxx.xxx 
[email protected]'s password: 
Now try logging into the machine, with "ssh 'xxx.xxx.xxx.xxx'", and check in: 

.ssh/authorized_keys 

to make sure we haven't added extra keys that you weren't expecting. 
[[email protected] home]# 
相關問題