前言
先前不知道為什麼,我的Grafana container就突然重置,連登入的帳號密碼都還原了,
本來做好的不用說,當然也消失...
這次重建container,必須把資料庫拉出來至實體機,這樣掛掉的話,應該還找的回來。
item,
447-709-03,
command | Target | Value |
loadVars | data.csv | |
echo | ${item} | |
endLoadVars |
command | Target | Value |
type | id=gloabalSearchField | ${item} |
command | Target | Value |
selectWindow | title=編輯零件 |
command | Target | Value |
storeXpathCount | xpath=//div[contains(@class,'x-grid3-cell-inner x-grid3-col-number')]/a[contains(@class,'linkfont')] | xyz |
del /Q /F /A /S \\192.168.1.12\scan\*.*
rd /s /q \\192.168.1.12\scan
def start_requests(self):
source_url = "...."
for keyword in self.db.wishList.find ({},{ "name" :1 , "_id" : 0 ,"quote":1 } ):
self.log(keyword['name'])
#self.log("urlencode::: " + urlparse.quote(keyword['name']))
start_url = source_url + urlparse.quote(keyword['name'])
yield scrapy.Request(start_url,self.parse,meta={"favorite":keyword['quote']})
def parse(self, response):
#le = LinkExtractor(restrict_css='div.panel-default>a.list-group-item')
#指到二手書列表
#self.log("source_url_link is ===" + response.url)
self.log("favorite: "+ response.meta.get('favorite'))
Get-Service –name e*,*x*
表達式 | 中文 |
-eq | 等於 |
-ne | 不等於 |
-ge | 大於或等於 |
-le | 小於或等於 |
-gt | 大於 |
-lt | 小於 |
-and | 而且 |
-or | 或 |
-not | 取值的相反 |
-like -nolike -clike | 可接受* ,做查詢 忽略大小寫 區分大小寫 |
-match | 正則表達式 |
docker pull mongo
sudo docker run --name mongo -p 27017:27017 -v ~/mongo:/data/db -d mongo
logoff 登出
appwiz.cpl 新增移除程式
notepad 記事本
explorer 檔案總管
gpedit.msc 本機群組原則
netplwiz 啟用開機不輸入密碼自動登入
sudo vim /usr/bin/pip3
from pip import main
if __name__ == '__main__':
sys.exit(main())
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
sudo dpkg-reconfigure tzdata
date
建立環境
conda create -n envName
conda create -n envName python=3
進入環境
source activate envName #在base底下要切換的話用這組
conda activate envName #通常用這組可以通吃
安裝套件
conda install packageName
套件列表
conda list
離開環境
conda deactivate
#ubuntu只顯示資料夾
ls -d */
Show-Command get-childitem
New-Item testfolder -ItemType Directory
Set-Location -Path HKCU:
&
所以完整語法
$Path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
$parm = "http://tw.yahoo.com http://www.pchome.com.tw"
$Parms = $Parm.Split(" ")
& $Path $parms
Get-Alias 可以看到所有的對應表
Get-Alias DIR 可以看到 這個指令的別名
Get-Command | Measure-Object 可以計算命令的加總數量
Get-Command *service* 尋找
Update-Help
Get-EventLog
[-LogName] <string>
[[-InstanceId] <long[]>]
[-ComputerName <string[]>]
[-Newest <int>][-After <datetime>]
[-Before <datetime>]
[-UserName <string[]>]
[-Index <int[]>][-EntryType <string[]>]
[-Source <string[]>]
[-Message <string>]
[-AsBaseObject][<CommonParameters>]
[-LogName] <string> 為必選,因沒有用中括號 [ ] 將 指令及參數包起來
[-ComputerName <string[]>] 為可選,因為使用了 [ ] 將指令及參數包起來
[[-InstanceId] <long[]>] 同上,為可選,但InstanceId 又用了中括號包起來,表示此參數又為可選,
又稱定位參數,在輸入時可以省略-InstanceId 不用打,直接輸入參數,但須注意參數的位置
Form | Meaning |
[[-Param] T] | Optional parameter of type T with the name optional |
[-Param T] | Optional parameter of type T with the name required |
-Param T | Required parameter of type T |
[-Param] | A switch (flag) |
代碼 | 名稱 |
2004 | 臺灣銀行 |
20040037 | 營業部 |
20040059 | 公庫部 |
20040071 | 館前分行 |
2004093 | 臺南分行 |
20040107 | 臺中分行 |
20040118 | 高雄分行 |
# 取得所有硬碟的資訊
$Disks = Get-WmiObject -Class Win32_LogicalDisk
# 輸出每一個硬碟的資訊
foreach ($Disk in $Disks) {
"------------"
"磁碟機代碼:{0}" -f $Disk.DeviceID
"磁碟機名稱:{0}" -f $Disk.VolumeName
"磁碟機大小:{0:0.0} GB" -f ($Disk.Size / 1GB)
"剩餘空間:{0:0.0} GB" -f ($Disk.FreeSpace / 1GB)
$Used = ([int64]$Disk.size - [int64]$Disk.FreeSpace)
"已用空間:{0:0.0} GB" -f ($Used / 1GB)
$Percent = ($Used * 100.0) / $Disk.Size
"已用比例:{0:N0} %" -f $Percent
if($Disk.DeviceID -eq "C:")
{
"Get C"
$Percent
if($Percent -gt 40){
"C > 50 %"
line_notify
}
break
}else{
"Get Zero"
}
}
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
將
UpdatesEnabled 改為 Flase
Window server的個人啟動資料夾在
C:\Users\用戶名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
啟動資料夾-系統
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
docker version
54.84.81.66 index.docker.io
docker run -d --name=gitea-demo -p 10022:22 -p 10080:3000 -v C:\docker\gitea:/data gitea/gitea:latest
1.Windows server的Docker核心 分成兩種 Linux Container 和 Windows Container
2.核心的環境不能在不同核心上面執行image
3.Windows 容器環境分成兩種 Windows server Container 以及 Hyper-V Container
4.Windows server Container 與 Hyper-V Container 的差異在前者共用系統核心資源(類似服務),
而後者需依賴於Hyper-V虛擬機上面。
5.Windows server Container 及 Hyper-V Container 內都可安裝的image 為 Server Core 和 Nano Server
6.查詢目前容器是Window or Linux ,在power shell內 執行docker version
7.Server Core 跟 Nano Server的差別在 Nano core 檔案比較小,而且不具備GUI的功能…等其他。
官方解釋:
Nano Server 是一個遠端管理的伺服器作業系統,已針對私人云端和資料中心最佳化。 它類似於 Server Core 模式的 WindowsServer,但明顯較小、沒有本機登入功能,而且只支援 64 位元應用程式、工具和代理程式。 比起 WindowsServer,它佔用的磁碟空間更少、設定的速度明顯地更快,而且所需的更新和重新啟動次數更少。
(詳細請看 微軟-安裝Nano Server)
8.要在Windows server上面玩Docker之前,最好先更新到最新版本。
參考資料來源:
nslookup
server 192.168.168.167 (指定DNS server)
set type=any
test2.fatek.com.tw (要查詢的網址)
nslookup test2.fatek.com.tw 192.168.168.167
ipconfig /flushdns
ipconfig /registerdns
ipconfig /release
ipconfig /renew
放了四天假,第一天上班
就看到Server出了點問題,
開工作管理員沒看到有吃大量記憶體的程式,
後來查到一篇,黑暗執行緒-Windows記憶體都用到哪裡去了?
去抓了 RAMMap 來用,才發現所有的記憶體都被Drier Locked吃掉了,大約有4xG
看了幾篇文章
Agile IT by Doug Luxem - Driver Locked Memory on Hyper-V Guests
MSDN-Hyper-V Dynamic memory, Driver Locked
才知道原因在於,Driver Locked是Hyper-V的動態記憶體管理 (Hyper-V Dynamic Memory Overview)
講更簡單點,除非把他關掉,不然沒醫。
至少確定這個記憶體使用量,不是什麼不明程式所造成的就好了。
用Windows Server 2012 R2 開啟PTC 的 Creo View 出現此錯誤訊息,
以前有處理過,但沒寫下步驟,跟一般作業系統的作法有差異,
一般作業系統只要安裝 Visual Studio 2015 的 Visual C++ 可轉散髮套件 即可。
但我安裝的過程中出現錯誤,導致無法安裝。
要解決此問題,必須安裝 下列更新檔(OneDriver連結)
Windows8.1-KB2939087-x64
Windows8.1-KB2975061-x64
Windows8.1-KB2919355-x64
Windows8.1-KB2999226-x64
如果出現此更新不適用於此電腦,先更新其他的更新檔,之後再安裝該更新。
順序應該是由上到下排列,如有意外,請先跳過後更新。
void Main()
{
test();
}
class aa
{
public string id{get;set;}
public string Name{get;set;}
public int Value{get;set;}
}
private void test()
{
var li = new List<aa>();
aa one = new aa();
one.id="A";
one.Name="甲";
one.Value=1080101;
li.Add(one);
li.Add(new aa{ id="A",Name="乙",Value=1080102 });
li.Add(new aa{ id="B",Name="丙",Value=7 });
li.Add(new aa{ id="B",Name="丁",Value=1 });
li.Add(new aa{ id="B",Name="戊",Value=10 });
var query = from p in li
group p by new{p.id} into g
select new{
g.Key.id,
Name = (from g2 in g where g2.Value == g.Max(s => s.Value) select g2.Name).Max(),
Value= (from g2 in g where g2.Value == g.Max(s => s.Value) select g2.Value).Max()
};
query.Dump();
var query3 = li.GroupBy(p=>p.id).Max(p=>p.Value);
var query2 = from p in li
group p by new{p.id} into g
select g;
query2.Dump();
}
css選擇器 | css=#group_3 |
預設方法 | id=group_3 |
<div class=’zone area-list></div>
xpath = //div[contains(@class,'zone area-list')]
<ul id="group_3" class="area-list" style="">
<li class="select_form_b">
<a id="5181_14" style="opacity: 1;">
<span style="background: #f9581d;"> </span>
2800
<font color="#FF0000">剩餘 2</font></a>
</li>
</ul>
xpath = /ul/li/a[contains(text(),'橙208區2800 ')]
xpath=/ul/li/a[contains(text(),'橙208區2800 ') and ./font[contains(text(),'剩餘')]]
<select class="mobile-select" id="TicketForm_ticketPrice_04">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
command | Target | Value |
select | id=TicketForm_ticketPrice_03 | label=2 |
select | xpath=//select[contains(@id,'TicketForm_ticketPrice')] | label=2 |
command | Target | Value |
focus | id=TicketForm_verifyCode |
C:\Program Files (x86)\Java\jre1.8.0_201\bin
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy