① 微信介面怎麼用linux應用實現推送消息現在微信介面要錢嗎
大家都想做這東西
狗日的騰訊就是不提供這個功能
現在的微信只有公眾賬號介面,只能別人給你的介面發一條微信消息,你才能回一條,不能主動發消息。。
還有一個基本的介面是認證的介面,300元認證一次,在別人給你主動發一條消息後,12小時內,你可以給這個人主動發消息。
但是像招商銀行、中國聯通等賬號確可以主動發消息,那樣的高級介面又不讓隨便申請。除非你是大企業。
② 如何推送給linux嵌入式開發板一條消息
首先你的嵌入式開發板上需要有接受推送的服務,如mqtt或者websocket之類的服務程序,然後推送端的伺服器上需要有相應的推送客戶端服務程序就可以,一般都是開源的代碼,只需配置好配置文件及推送的內容即可
③ 如何在Linux中備份,恢復和遷移Docker容器
1. 備份凳茄嫌容器
首先,為了備份Docker中的容器,我們會想看看我們想要備份的容器列表。要達成該目的,我們需要在我們運行著Docker引擎,並已創建了容器的Linux機器中運行 docker ps 命令。
# docker ps
Docker Containers List
在此之後,我們要選擇我們想要備份的容器,然後去創建該容器的快照。我們可以使用 docker commit 命令來創建快照。
# docker commit -p 30b8f18f20b4 container-backup
Docker Commit
該命令會生成一個作為Docker鏡像的容器快照,我們可以通過運行 docker images 命令來查看Docker鏡像,如下。
# docker images
Docker Images
正如我們所看見的,上面做的快照已經作為Docker鏡像保存了。現在,為了備份該快照,我們有兩個選擇,一個是我們可以登錄進Docker注冊中心,並推送該鏡像;另一個是我們可以將Docker鏡像打包成tar包備份,以供今後使用。
如果我們想要在Docker注冊中心上傳或備份鏡像,我們只需要運行 docker login 命令來登錄進Docker注冊中心,然後推送所需的鏡像即可。
# docker login
Docker Login
# docker tag a25ddfec4d2a arunpyasi/container-backup:test
# docker push arunpyasi/container-backup
Docker Push
如果我們不想備份到docker注冊中心納首,而是想要將此鏡像保存在本地機器中,以供日後使用,那麼我們可以將其作為tar包備份。要完成該操作,我們需要運行以下 docker save 命令。
# docker save -o ~/container-backup.tar container-backup
taking tarball backup
要驗證tar包是否已經生成,我們只需要在保存tar包的目錄中運棗手行 ls 命令即可。
2. 恢復容器
④ 如何在Linux下使用Git
Git是一款開源分布式版本控制系統,能夠幫助Linux管理內核開發,那麼Linux要如何使用Git,下面就是Linux使用Git的方法:
*初始化git倉庫,使用git init命令
*添加文件到git倉庫分兩步:
1、使用git add filename ;可分多次使用,添加多個文件到暫存區
2、使用git commit -m 「說明」 ;完成提交到分支
*查看工作區狀態,使用git status 命令;如果提示有修改可使用git diff filename 查看修改內容
*HEAD指向當前版本,HEAD^表示上一個版本,HEAD^^上上一個版本……HEAD~100指向之前第100個版本。
*回退版本:使用git log查看提交歷史;使用git log --pretty=oneline 精簡顯示
使用git reset --hard commit_id 回退到版本號為commit_id的版本
*回退版本之後如果想再看改回來,可以使用git reflog 查看歷史命令,找出想改回的版本號,再使用git reset hard commit_id 返回即可。
*注意:git跟蹤並管理的是修改,而不是文件,如果一個文件修改並add之後,再次修改,如果不再次add就提交的話,只會提交第一次的修改。
*撤銷修改:
1、如果文件還在工作區,即沒有add也沒有commit,則使用git checkout -- filename 還原到伺服器版即可;
2、如果已經add到暫存區,首先使用git reset HEAD filename從暫存區取回工作區,再按照1進行操作即可;
3、如果已經提交到版本庫,則按照版本回退的方式進行修改即可;
4、如果已經push到遠程倉庫,就麻煩了
*刪除使用以下命令:
1、git rm filename 從工作區刪除
2、git commit -m 」說明「 更新分支中文件進行刪除
將在工作區的文件刪除之後,可以使用git checkout -- filename 從分支中取回,但是只能恢復文件到最新版本,最後一次提交之後的修改則不能恢復。
*分支:
1、創建分支
git checkout -b branchname 創建並切換到改分區,相當於一下兩個命令:
git branch branchname 創建分支
git checkout branchname 切換到分區
2、查看當前指向的分支:git branch 會列出所有分支,當前指向的分支之前多了個*
3、切換分支就是git checkout branchname
4、合並分支:git merge branchname 合並branchname到當前分支
5、刪除分支:git branch -d branchname 刪除branchname分支
注意:創建、合並、刪除分支都非常快,git鼓勵使用分支完成某個任務,合並後刪除分支,和直接在master分支上進行工作是一樣的效果,但是過程更加安全; 這些之所以快是因為在這些過程中我們只是修改了指向分支的指針,如創建一個branch就是創建了一個指向分支的指針,然後修改HEAD指向該指針;即HEAD指向分支,分支就是提交。
*沖突解決:
git無法自動合並分支時,就必須首先解決沖突;解決沖突之後,再提交,即完成了合並
使用git log --graph 可以查看分支合並圖。
*保存工作現場 git stash 保存之後就可以進行其他工作 而不影響上次的修改
恢復工作現場:
1、git stash apply 恢復時並不刪除stash中內容
2、git stash pop 恢復時會刪除stash中的內容
*遠程庫信息產看使用git remote (-v)加上-v顯示信息更加詳細
*分支推送到遠程庫:即將所有本地的提交推送到遠程庫
git push origin(遠程庫名) master (要推送的分支)
*抓取分支:git pull ; git clone
*協作模式:
1、使用git push origin branchname 推送自己的修改
2、如果推送失敗,因為遠程分支比本地更新,先使用git pull 合並
3、如果合並有沖突,解決沖突,在本地提交
4、再推送
注意:如果使用git pull 合並時提示 」no tracking information「說明本地分支沒有和遠程分支建立鏈接關系,使用以下指令建立關系:git branch --set -upstream branch origin/branchname
*在本地創建與遠程對應的分支:git branch -b branchname origin/branchname 本地與遠程分支的名稱最好一致
*創建標簽
1、打標簽git tag name 默認標簽打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可
2、顯示標簽:git log -pretty=oneline --abbrev -commit
git tag tag_name commit_id
3、查看標簽:git tag 顯示所有標簽
4、查看標簽信息:git show tag_name
5、創建帶有說明的標簽: git tag -a tag_name -m 」信息「;-a表示標簽名,-m指定說明文字
*操作標簽:git tag -d tag_name 刪除標簽
推送標簽到遠程庫:git push origin tag_name
一次推送所有標簽到遠程庫:git push origin --tag
上面就是Linux使用Git的方法了。
⑤ 使用java在linux之間推送文件,現在我在linux的A伺服器上執行代碼,想把A上的文件復制到伺服器B上
給你兩個思路吧
1,使用java上傳下載的代碼很多的,你可以搜一下,貼起來代碼也比較多,就不貼了
2,使用java api操作ftp傳輸,這個必須要開啟ftp服務
⑥ linux想掛載通過ipsan協議推送上來的磁碟,兩個ip共分配了21個未分區的盤,
先安裝iSCSI initiator以及iscsiadm
iscsiadm是基於命令行的iscsi管理工具,提供了對iscsi節點、會話、連接以及發現記錄的操作。
iscsiadm的使用說明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README,也可以運行man iscsiadm或iscsiadm --help
#yum install iscsi-initiator-utils*
使用
下面來講一下連接iscsi設備的步驟:
1 啟動iscsi守護進程
#service iscsi start
默認情況下,系統啟動後此進程會自動運行
2 發現目標
默認情況下,iscsi發起方和目標方之間通過埠3260連接。假設已知iscsi的目標方IP是192.168.1.1,運行下列命令:
#chkconfig iscsi on;chkconfig iscsi --list (查看ISCSI啟動狀態)
#iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260
此時找到擁有一個目標(target)
#192.168.1.1:3260,2 iqn.1995-03.com.dothill:01.array.00c0ff137675
3登入節點
以上面被發現的目標為例
# iscsiadm -m node –T iqn.1995-03.com.dothill:01.array.00c0ff137675 -p 192.168.1.1:3260 -l
其中iqn.1997-05.com.test:raid是目標名
如果要在系統啟動時自動登入
# iscsiadm -m node –T iqn.1995-03.com.dothill:01.array.00c0ff137675 -p 192.168.1.1:3260 --op update -n node.startup -v automatic
登入節點後,運行
#fdisk –l
應該可以看到目標方的存儲設備信息,如
Disk /dev/sdb: 3489.8 GB, 3489862254592 bytes
255 heads, 63 sectors/track, 424284 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
/dev/sdb即為連接的iscsi存儲設備
登入需驗證碼的節點:
(1)開啟認證
iscsiadm -m node -T [裝置] -o update --name node.session.auth.authmethod --value=CHAP
*.使用-o同--op
(2)添加用戶
iscsiadm -m node -T [裝置] --op update --name node.session.auth.username --value=[用戶名]
(3)添加密碼
iscsiadm –m node –T [裝置] –op update –name node.session.auth.password –value=[密碼]
4 格式化設備
如欲將設備格式化為ext3文件系統,運行
# mkfs.ext4 /dev/sdb
5掛接設備
在/mnt下創建iscsi目錄
#mkdir /mnt/iscsi
運行mount命令:
# mount /dev/sdb /mnt/iscsi
針對iscsi設備的特殊mount選項
運行df –h可以看到:
/dev/sdb 3.4T186M 3.4T 1% /mnt/iscsi
iscsi設備被成功掛接,可以當作常規存儲設備使用了。
如果要在系統啟動時自動掛接
編輯/etc/fstab
加入一行:
/dev/sdb /mnt/iscsi ext4 default 0 0
6 登出節點
首先解除掛接
#umount /mnt/iscsi
登出
# iscsiadm -m node –T iqn.1995-03.com.dothill:01.array.00c0ff137675 -p 192.168.1.1:3260 –u
在 iSCSI Target 伺服器中使用LVM創建和設置LUN
為什麼使用LUN?
LUN用於存儲,SAN存儲大多數由LUN的集群來組成存儲池,LUN由目標器的幾塊物理驅動器組成。我們可以使用LUN作為系統物理驅動器來安裝操作系統,LUN可以用在集群、虛擬伺服器、SAN中。在虛擬伺服器中使用LUN的主要用途是作為操作系統的存儲。LUN的性能和可靠性根據在創建目標存儲伺服器時所使用的驅動器決定。
前置閱讀
要了解創建iSCSI 目標器,點擊下面的鏈接。
使用iSCSI Target創建集中式安全存儲(一)
主伺服器設置
系統信息和網路設置部分與前文的iSCSI 目標器相同 - 我們在相同的伺服器上定義LUN。
操作系統 –CentOS6.5 (Final)
iSCSI 目標器 IP – 192.168.0.200
使用的埠 : TCP 860, 3260
配置文件 : /etc/tgt/targets.conf
在iSCSI 目標器使用LVM創建LUN
首先,用fdisk -l命令找出驅動器的列表,這會列出系統中所有分區的列表。
# fdisk -l
上面的命令只會給出基本系統的驅動器信息。為了得到存儲設備的信息,使用下面的命令來得到存儲設備的列表。
# fdisk -l /dev/vda && fdisk -l /dev/sda
LUN信息
上面的命令會列出可用LUN的下面這些信息
iSCSI 限定名
iSCSI 已經准備好
默認LUN 0被控制器所保留
LUN 1是我們定義的目標器
這里我為每個LUN都定義了4GB
在線: 是的,這就是可以使用的LUN
現在我們已經使用LVM為目標器定義了LUN,這可擴展並且支持很多特性,如快照。我們將會在第三部分了解如何用目標器授權,並且本地掛載遠程存儲。
⑦ 在Linux下搭建Git伺服器
眾所周知,版本系統在開發環境中是必不可少的,但是我們可以把代碼免費的託管到GitHub上,如果我們不原意公開項目的源代碼,公司又不想付費使用,那麼我們可以自己搭建一台Git伺服器,可以用Gitosis來管理公鑰,還是比較方便的。
搭建環境:
伺服器 CentOS6.6 + git(version 1.8.3.1)
客戶端 Windows10 + git(version 2.11.1.windows.1)
1. 安裝Git相關軟體
Linux是伺服器端系統,Windows作為客戶端系統,分別安裝Git
安裝客戶端:
下載 Git for Windows,地址:https://git-for-windows.github.io/
安裝完之後,可以使用Git Bash作為命令行客戶端。
安裝Gitosis
出現下面的信息表示安裝成功了
2. 伺服器端創建git用戶來管理Git服務
3. 配置公鑰
在Windows上配置管理者,git伺服器需要一些管理者,通過上傳開發者機器的公鑰到伺服器,添加成為git伺服器的管理者,打開git命令行
4. 配置gitosis
使用git用戶並初始化gitosis
在Windows上機器上clone gitosis-admin到管理者主機
gitosis.conf: git伺服器配置文件
keydir: 存放客戶端公鑰
配置 gitosis.conf 文件
在Windows管理者機器上創建本地test倉庫,並上傳到git服務端
提交到遠程伺服器
服務端會自動創建test倉庫
5.添加其他git用戶開發者
由於公司開發團隊人數不斷增多,手動添加開發者私鑰到/home/git/.ssh/authorized_keys比較麻煩,通過上面的Windows機器的管理者統一收集其他開發者的私鑰id_rsa.pub文件,然後傳到伺服器上,配置好後,用戶即獲得項目許可權,可以從遠程倉庫拉取和推送項目,達到共同開發項目。
推送完成後,新加進來的開發者就可以進行項目的開發了,後續增加人員可以這樣添加進來,開發者直接把倉庫clone下來就可以了。