假設本地為客戶端a([email protected]),遠端服務端為b([email protected]),定時從b複製資料夾內容到a:
設定步驟:
1. 設定免密登陸
(1)在客戶端(a )生成一對公鑰和秘鑰,使用ssh-keygen -t rsa
生成,一路回車即可;
(2)進入秘鑰資料夾檢視檔案: 其中sudo su
ssh-keygen -t rsa
id_rsa.pub
是公鑰,id_rsa
是私鑰;
//進入資料夾
cd /root/.ssh
(3) 把id_rsa.pub
上傳到到服務端(b);
scp /root/.ssh/id_rsa.pub
[email protected]:/home/tom/
(4)在服務端(b)上生成公鑰和金鑰(不需要進入root),使用ssh-keygen -t rsa
生成,一路回車即可;
(5)在服務端(b)上建立authorized_keys,並把(3)上傳a的id_rsa.pub
的內容拷貝到服務端(b )的 authorized_keys:
touch ~/.ssh/authorized_keys2. 在客戶端(a )建立執行scp操作的sh指令碼:testscp.shcat /home/tom/
id_rsa.pub >>
~/.ssh/authorized_keys
#!/bin/sh
/usr/bin/scp -r [email protected]:/home/tom/data/ /home/tony/datasets/
exit 0
3. 在客戶端(a )設定定時任務
sudo gedit /etc/crontab新增:每天02:50執行該指令碼
50 02 * * * root /home/tony/testscp.sh >> /home/tony/scp.log 2>&14. 在客戶端(a )重啟cron來應用這個計畫任務
sudo service cron restart備註:由於我的定時任務是a上root執行的,所以金鑰需要在root下生成,待測試普通使用者執行定時任務的設定;
linux crontab定時執行
本文章基於linux伺服器,使用linux的crontab命令實現任務的定時執行。通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script指令碼。時間間隔的單位可以是分鐘 小時 日 月 周及以上的任意組合。這個命令非常適合週期性的日誌分析或資料備份等工作。需要...
linux crontab定時執行任務
關於crontab crontab命令常見於unix和類unix的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。該詞 於希臘語 chronos 原意是時間。通常,crontab儲存的指令被守護程序啟用,crond常常...
Linux crontab定時執行任務
crond是linux下用來週期性的執行某種任務或等待處理某些事件的乙個守護程序,與windows下的計畫任務類似,當安裝完成作業系統後,缺省會安裝此服務工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。2 最小時間單位為 分...