最近覺得有點懶惰,為了要再其他電腦更新已經修改好的文件都要輸入密碼,但往往一個專案開發的功能可能會有好幾項檔案要更新,而且更新的電腦要常常重灌,所以對我來說交換key的方式也很不方便,因為對我來說只想用簡單的方式去達到我想要的目的,所以
我找到一個相當方便的套件, 條件是 我只是簡單要交換資料而已,這會讓密碼變明碼,如果你不是要這種簡單交換資料的方式的話,那這篇對你來說就不太適用了。
ubuntu apt download:
apt install -y sshpass
簡單使用方法:
假設要由A端傳輸到B端的資料,你可以這麼做
sshpass -p [password] scp [file] [USER]@[REMOTE TARGET]
如此一來,你就可以直接把local端資料直接丟到遠端電腦啦!
2018年11月22日 星期四
2018年8月13日 星期一
Windows bash autoit
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <Date.au3>
$fh = FileOpen("Test.txt",$FO_APPEND)
If $fh = -1 Then
MsgBox($MB_OK,"ERROR","")
Exit 1
EndIf
$Sum = 0
For $i = 1 To 100 Step 1
FileWriteLine($fh,"Sum =" & $i)
FileWriteLine($fh,"The time is:" & _NowTime())
Send("{^s}")
Sleep(300000)
Next
FileWriteLine($fh,"end loop sucess")
FileClose($fh)
#include <MsgBoxConstants.au3>
#include <Date.au3>
$fh = FileOpen("Test.txt",$FO_APPEND)
If $fh = -1 Then
MsgBox($MB_OK,"ERROR","")
Exit 1
EndIf
$Sum = 0
For $i = 1 To 100 Step 1
FileWriteLine($fh,"Sum =" & $i)
FileWriteLine($fh,"The time is:" & _NowTime())
Send("{^s}")
Sleep(300000)
Next
FileWriteLine($fh,"end loop sucess")
FileClose($fh)
2018年6月24日 星期日
Eclipes 安裝
針對ubuntu 安裝eclipese-inst-linux4.tar.gz說明
1.下載linux版本
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R2/eclipse-inst-linux64.tar.gz
2.到CLI命令列介面解壓縮(檔案再~/Download/)
tar -zxvf eclipse-inst-linux64.tar.gz
1.下載linux版本
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R2/eclipse-inst-linux64.tar.gz
2.到CLI命令列介面解壓縮(檔案再~/Download/)
tar -zxvf eclipse-inst-linux64.tar.gz
3.會遇到不存在jre路徑的問題
兩個方案,一個去下載java包放到本資料夾底下(不詳述)
第二方案:
兩個方案,一個去下載java包放到本資料夾底下(不詳述)
第二方案:
sudo apt-get install openjdk-8-jre
數字8可能會依版本更新而不同(之前是7)
完成
數字8可能會依版本更新而不同(之前是7)
完成
2018年6月19日 星期二
rsnapshot安裝與簡易使用
安裝
sudo apt-get update
sudo apt-get install rsnapshot -y
安裝後,一個範例設定檔將會被放在 /etc/rsnapshot.conf,但你多數不止把一台主機備份,因此
我們不會採用它。
取而代之,請建立一個目錄來放置你的主機設定檔。請按你的喜好來更改路徑名稱
我們不會採用它。
取而代之,請建立一個目錄來放置你的主機設定檔。請按你的喜好來更改路徑名稱
註:這個部份我在目錄命名的第二個手字母大寫
sudo mkdir /etc/rsnapShot
你也需要一個地方來安置備份,所以請建立一個地方來儲存那些檔案。
sudo mkdir /srv/backUps/
最後,你將會需要一個地方來放置 rsnapshot 所建立、稍後要設置的日誌。請建立一個目錄。
sudo mkdir /var/log/rsnapshot
設置不須密碼的 SSH 登入
在 rsnapshot 伺服器上,你須要建立一對 SSH 金鑰。你可以利用 ssh-keygen 來達至這個目的。
ssh-keygen -t rsa
root@est-testlink:~# ssh-keygen -t rsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): 直接enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 直接enter
Enter same passphrase again: 直接enter
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
SHA256:wguVbHKpUWVAaQSWRM3itiAQUXMfGs1NxqQt5QQurq4 root@est-testlink
The key's randomart image is:
+---[DSA 1024]----+
|o+ooBXBXO |
|. +oBB%o |
|. .=o% o |
|. ..oX . |
| . o+.o S |
| ... o |
| . . |
| . |
|E.. |
+----[SHA256]-----+
在主機上安裝金鑰
如果你已經有 SSH 存取權,當你在 rsnapshot 伺服器上建立了金鑰後,你可以輕易地將公鑰加進遠端的適當檔案內。切勿加入那條非公開的金鑰。
請從 rsnapshot 伺服器執行以下的指令到你要備份的遠端系統。
請從 rsnapshot 伺服器執行以下的指令到你要備份的遠端系統。
cat .ssh/id_rsa.pub | ssh user@192.168.2.213 "cat - >> .ssh/authorized_keys"
這邊我本機沒有開root的遠端權限所以還必須從user複製到root端
cat ~/.ssh/id_dsa.pub | ssh user@192.168.2.213 "cat >> ~/.ssh/authorized_keys2"
cp /home/user/.ssh/authorized_keys2 ~/.ssh/authorized_keys2
也許此刻你會想在遠端系統停用 SSH 的密碼登入,但這是你的決定。假若你想這樣做,編輯 /etc/ssh/sshd_config。
請確定 PasswordAuthentication 及 PermitEmptyPasswords 都是 no。另外,縱使我不是位安全性專家,但你應該把你的 .ssh 目錄及檔案的存取權好
下面般更改。
請確定 PasswordAuthentication 及 PermitEmptyPasswords 都是 no。另外,縱使我不是位安全性專家,但你應該把你的 .ssh 目錄及檔案的存取權好
下面般更改。
chmod 700 .ssh; chmod 400 .ssh/authorized_keys2
此步驟我沒實行
設定 rsnapshot 主機
既然你已經初步有一個地方放置設定檔、一個地方放置備份、及能夠不須密碼存取遠端系統,現在你可以建立主機設安檔。
1)主機的 .conf 檔
請為你要備份的主機建立一個檔案來收藏 rsnapshot 專用的設定。請按你的情況取代主機名稱及檔案名稱。
gedit /etc/rsnapShot/host213.rsnapshot.conf
設定檔
config_version 1.2 #參考 /etc/rsnapshot.conf
snapshot_root /srv/backUps/host213/ #你預設存放遠端資料的路徑
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
cmd_du /usr/bin/du
interval hourly 6 #小時備份最大存放數
interval daily 7
interval weekly 4
interval monthly 3
verbose 2
loglevel 4
logfile /var/log/rsnapshot/host.log #logfile
exclude_file /etc/rsnapShot/host213.exclude
rsync_long_args --delete --numeric-ids --delete-excluded
lockfile /var/run/rsnapshot.pid
#這邊會備份到/srv/backUps/snapshots/host/hourly.0/hosttest
snapshot_root /srv/backUps/host213/ #你預設存放遠端資料的路徑
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
cmd_du /usr/bin/du
interval hourly 6 #小時備份最大存放數
interval daily 7
interval weekly 4
interval monthly 3
verbose 2
loglevel 4
logfile /var/log/rsnapshot/host.log #logfile
exclude_file /etc/rsnapShot/host213.exclude
rsync_long_args --delete --numeric-ids --delete-excluded
lockfile /var/run/rsnapshot.pid
#這邊會備份到/srv/backUps/snapshots/host/hourly.0/hosttest
backup user@192.168.2.213:/ hosttest/
還有輸入密碼的問題
註:請留意選項數值之間的空位。它們不是空格,而是 tab。此外,目錄必須有後置的斜線。
說明
config_version 1.2 = 設定檔版本
snapshot_root = 儲存備份的目標位置
cmd_cp = 「複製」指令的路徑
cmd_rm = 「刪除」指令的路徑
cmd_rsync = rsync 指令的路徑
cmd_ssh = SSH 的路徑
cmd_logger = 與 syslog 溝通的指命的路徑
cmd_du = 「查詢磁碟用量」指命的路徑
interval hourly = 須保留的每小時備份數量
interval daily = 須保留的每日備份數量
interval weekly = 須保留的每週備份數量
interval monthly = 須保留的每月備份數量
verbose = 不言自明
loglevel = http://ajason0753.blogspot.com/2007/05/printk-log-level.html
snapshot_root = 儲存備份的目標位置
cmd_cp = 「複製」指令的路徑
cmd_rm = 「刪除」指令的路徑
cmd_rsync = rsync 指令的路徑
cmd_ssh = SSH 的路徑
cmd_logger = 與 syslog 溝通的指命的路徑
cmd_du = 「查詢磁碟用量」指命的路徑
interval hourly = 須保留的每小時備份數量
interval daily = 須保留的每日備份數量
interval weekly = 須保留的每週備份數量
interval monthly = 須保留的每月備份數量
verbose = 不言自明
loglevel = http://ajason0753.blogspot.com/2007/05/printk-log-level.html
logfile = 日誌的路徑
ssh_args = 附加的 SSH 選項,例如不同的連接埠(-p)
exclude_file = 排除檔的路徑(將會有更詳盡解釋)
rsync_long_args = 傳給 rsync 的冗長參數
lockfile = 不言自明
backup = 備份來源的完整路徑,接著是擺放位置的相對路徑
backup_script = 執行腳本的完整路徑,接著是擺放位置的相對路徑
現在你已經有一個可用的主機設定範例,讓我們繼續看排除檔。
2)主機的 .exclude 檔
選擇先排除一切,然後特別指定我需要備份的東西。這樣做的原因是要確保我們只批准所須的東西,及自動拒絕以外的事物。
請建立這個檔案:
請建立這個檔案:
gedit /etc/rsnapShot/host213.exclude
由於迴遞的原故,採用排除檔可以是件難對付的事。我不會假裝對 rsync 的迴遞完全理解,因此我的範例也許會不合你心意。
它容許你刻意指定所須的東西,然後排除其它一切。基於 rsync 採用迴遞的方式,與及你擺設架構的樣式(即是 * 與 ** 所配對的有差別),
你也許要先列舉目錄。
它容許你刻意指定所須的東西,然後排除其它一切。基於 rsync 採用迴遞的方式,與及你擺設架構的樣式(即是 * 與 ** 所配對的有差別),
你也許要先列舉目錄。
當你列出了所須的東西後,請加入 - * 來排除其它一切。這樣只有你列舉的東西才會獲備份。我的排除檔是這樣的:
- /boot
- /etc
+ /home
+ /home/user/
+ /home/user/VirtualBox*
+ /home/user/dirTest
- /home/*
- /home/user/*
- /opt
- /root
- /usr
- /usr/local
- /usr/*
- /var/cache
- /var
- /srv
- /*
- /etc
+ /home
+ /home/user/
+ /home/user/VirtualBox*
+ /home/user/dirTest
- /home/*
- /home/user/*
- /opt
- /root
- /usr
- /usr/local
- /usr/*
- /var/cache
- /var
- /srv
- /*
請閱讀 rsync 的使用手冊來增進對於樣式配對及迴遞的理解
3)主機備份腳本
最後要解釋的設定選項是我用來傾印資料庫的執行腳本。這個選項讓你在 rsync 結束後執行腳本來加入檔案在備份中。譬如你可以連線到遠端系統
並傾印 MySQL 及/或 PostgreSQL 的資料庫。請建立所需的資料庫傾印腳本
並傾印 MySQL 及/或 PostgreSQL 的資料庫。請建立所需的資料庫傾印腳本
請參閱此方法未實做
建立一個 crontab
自動化操作可以透過簡單的 crontab 項目來達成。請開啟 crontab 並加入以下內容:
crontab -e
建立
00 11 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 11 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 12 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 12 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 13 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 13 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 14 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 14 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 15 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 15 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 16 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 16 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 17 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 17 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
15 03 * * Sun /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf weekly
30 03 1 * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf monthly
30 11 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 12 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 12 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 13 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 13 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 14 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 14 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 15 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 15 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 16 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 16 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 17 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 17 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
00 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
30 18 * * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly
15 03 * * Sun /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf weekly
30 03 1 * * /usr/bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf monthly
要加入更多主機,請遵照這份指南重複同樣的步驟,並在新增檔案內改用新的主機名稱
手動執行 rsnapshot
手方式建立備份,你可以在指令行配合適當的參數直接執行 rsnapshot
/usr//bin/rsnapshot -c /etc/rsnapShot/host213.rsnapshot.conf hourly {hourly,daily,weekly,monthly}
rsnapshot 的報告
若果你有與趣收到更多訊息,rsnapshot 有一個輕巧實用、容易設置的報告腳本。它會透過一封簡單的電郵向你匯報備份過程。這個報告很精簡。
首先,請複製該腳本到 /usr/local/bin 或某個地方,然後將它設為執行檔。
若果你有與趣收到更多訊息,rsnapshot 有一個輕巧實用、容易設置的報告腳本。它會透過一封簡單的電郵向你匯報備份過程。這個報告很精簡。
首先,請複製該腳本到 /usr/local/bin 或某個地方,然後將它設為執行檔。
請參考
rsnapshot的增量備份
情況1:當檔案沒有更動時,直接做hard link,即兩份Hello都指向同一個Address
情況2:當檔案更動時,直接在copy一份
原參考自:
訂閱:
文章 (Atom)