|
|
<!DOCTYPE html>
|
|
|
<html lang="en-us"><head>
|
|
|
<meta charset="utf-8">
|
|
|
<title>Parsa | Personal Blog Template</title>
|
|
|
|
|
|
<!-- mobile responsive meta -->
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
|
<meta name="description" content="This is meta description">
|
|
|
<meta name="author" content="Themefisher">
|
|
|
<meta name="generator" content="Hugo 0.58.3" />
|
|
|
|
|
|
<!-- plugins -->
|
|
|
|
|
|
<link rel="stylesheet" href="https://h.cowbay.org/plugins/bootstrap/bootstrap.min.css ">
|
|
|
|
|
|
<link rel="stylesheet" href="https://h.cowbay.org/plugins/slick/slick.css ">
|
|
|
|
|
|
<link rel="stylesheet" href="https://h.cowbay.org/plugins/themify-icons/themify-icons.css ">
|
|
|
|
|
|
|
|
|
<!-- Main Stylesheet -->
|
|
|
|
|
|
<link rel="stylesheet" href="https://h.cowbay.org/css/style.min.css" integrity="" media="screen">
|
|
|
|
|
|
<!--Favicon-->
|
|
|
<link rel="shortcut icon" href="https://h.cowbay.org/images/favicon.png " type="image/x-icon">
|
|
|
<link rel="icon" href="https://h.cowbay.org/images/favicon.png " type="image/x-icon">
|
|
|
|
|
|
</head><body>
|
|
|
<!-- preloader start -->
|
|
|
<div class="preloader">
|
|
|
<div class="loader">
|
|
|
<span class="dot"></span>
|
|
|
<div class="dots">
|
|
|
<span></span>
|
|
|
<span></span>
|
|
|
<span></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- preloader end -->
|
|
|
<header class="navigation">
|
|
|
<nav class="navbar navbar-expand-lg navbar-light">
|
|
|
<a class="navbar-brand" href="https://h.cowbay.org"><img class="img-fluid" src="https://h.cowbay.org/images/logo.png" alt="Parsa | Personal Blog Template"></a>
|
|
|
<button class="navbar-toggler border-0" type="button" data-toggle="collapse" data-target="#navogation"
|
|
|
aria-controls="navogation" aria-expanded="false" aria-label="Toggle navigation">
|
|
|
<span class="navbar-toggler-icon"></span>
|
|
|
</button>
|
|
|
|
|
|
<div class="collapse navbar-collapse text-center" id="navogation">
|
|
|
<ul class="navbar-nav ml-auto">
|
|
|
<li class="nav-item">
|
|
|
<a class="nav-link text-uppercase text-dark" href="https://h.cowbay.org"> Home </a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
<li class="nav-item">
|
|
|
<a class="nav-link text-uppercase text-dark" href="https://h.cowbay.org/about">About</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li class="nav-item">
|
|
|
<a class="nav-link text-uppercase text-dark" href="https://h.cowbay.org/contact">Contact</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
<!-- search -->
|
|
|
<form class="form-inline position-relative ml-lg-4" action="https://h.cowbay.org/search">
|
|
|
<input class="form-control px-0 w-100" type="search" placeholder="Search" id="search-query" name="s">
|
|
|
<button class="search-icon" type="submit"><i class="ti-search text-dark"></i></button>
|
|
|
</form>
|
|
|
|
|
|
</div>
|
|
|
</nav>
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
<div class="container-fluid p-sm-0">
|
|
|
<div class="row featured-post-slider">
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section class="section">
|
|
|
<div class="container">
|
|
|
<div class="row masonry-container">
|
|
|
|
|
|
|
|
|
<div class="col-lg-4 col-sm-6 mb-5">
|
|
|
<article class="text-center">
|
|
|
<img class="img-fluid mb-4" src="https://h.cowbay.org" alt="post-thumb">
|
|
|
<p class="text-uppercase mb-2">[ansible]</p>
|
|
|
<h4 class="title-border"><a class="text-dark" href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/">[筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command</a></h4>
|
|
|
<p><p>之前為了能夠在執行完 ansible playbook 後,能有個log 可以看</p>
|
|
|
|
|
|
<p>所以在每次執行的時候,都要加入 tee 的指令</p>
|
|
|
|
|
|
<p>像是</p>
|
|
|
|
|
|
<pre><code>ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log
|
|
|
</code></pre>
|
|
|
|
|
|
<p>一直都是放在crontab 裡面執行,也就沒有去管他</p>
|
|
|
|
|
|
<p>反正也沒有人關心結果怎樣 (攤手</p></p>
|
|
|
<a href="https://h.cowbay.org/post/another-way-to-keep-ansible-log/" class="btn btn-transparent">read more</a>
|
|
|
</article>
|
|
|
</div>
|
|
|
|
|
|
<div class="col-lg-4 col-sm-6 mb-5">
|
|
|
<article class="text-center">
|
|
|
<img class="img-fluid mb-4" src="https://h.cowbay.org" alt="post-thumb">
|
|
|
<p class="text-uppercase mb-2">[筆記]</p>
|
|
|
<h4 class="title-border"><a class="text-dark" href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/">[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install</a></h4>
|
|
|
<p><p>最近有個任務,需要大量安裝client</p>
|
|
|
|
|
|
<p>想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot</p>
|
|
|
|
|
|
<p>然後選擇OS版本,就可以自動進行安裝</p>
|
|
|
|
|
|
<p>安裝完成後,會自動重新開機,接著就用ansible來做user環境設定</p>
|
|
|
|
|
|
<p>PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了</p>
|
|
|
|
|
|
<p>可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機</p>
|
|
|
|
|
|
<p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p>
|
|
|
|
|
|
<p>看似很簡單的一件事情,卻搞了我兩天….</p></p>
|
|
|
<a href="https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/" class="btn btn-transparent">read more</a>
|
|
|
</article>
|
|
|
</div>
|
|
|
|
|
|
<div class="col-lg-4 col-sm-6 mb-5">
|
|
|
<article class="text-center">
|
|
|
<img class="img-fluid mb-4" src="https://h.cowbay.org" alt="post-thumb">
|
|
|
<p class="text-uppercase mb-2">[ansible]</p>
|
|
|
<h4 class="title-border"><a class="text-dark" href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/">[ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr</a></h4>
|
|
|
<p><p>因為工作上的需要,要修改client端的 /etc/environment 檔案</p>
|
|
|
|
|
|
<p>在有權限使用proxy 服務的user的環境中,加入proxy 的設定</p>
|
|
|
|
|
|
<p>原本的清單中,有host/user/ip 這幾個值可以拿來判斷</p>
|
|
|
|
|
|
<p>proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment</p></p>
|
|
|
<a href="https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/" class="btn btn-transparent">read more</a>
|
|
|
</article>
|
|
|
</div>
|
|
|
|
|
|
<div class="col-lg-4 col-sm-6 mb-5">
|
|
|
<article class="text-center">
|
|
|
<img class="img-fluid mb-4" src="https://h.cowbay.org" alt="post-thumb">
|
|
|
<p class="text-uppercase mb-2">[Ansible]</p>
|
|
|
<h4 class="title-border"><a class="text-dark" href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/">[ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file</a></h4>
|
|
|
<p><p>在ansible中,關於如何引用自定義的變數,一直讓我很頭疼</p>
|
|
|
|
|
|
<p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p>
|
|
|
|
|
|
<p>這次還是用selectattr 來處理,希望下次能夠記得…</p></p>
|
|
|
<a href="https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/" class="btn btn-transparent">read more</a>
|
|
|
</article>
|
|
|
</div>
|
|
|
|
|
|
<div class="col-lg-4 col-sm-6 mb-5">
|
|
|
<article class="text-center">
|
|
|
<img class="img-fluid mb-4" src="https://h.cowbay.org" alt="post-thumb">
|
|
|
<p class="text-uppercase mb-2">[筆記]</p>
|
|
|
<h4 class="title-border"><a class="text-dark" href="https://h.cowbay.org/post/remote-management-system-meshcentral/">linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral</a></h4>
|
|
|
<p><p>之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體</p>
|
|
|
|
|
|
<p>但是如果要過 internet ,就會碰到各種開port的問題</p>
|
|
|
|
|
|
<p>在這種環境下,就有了當時 teamviewer 的橫空出世</p>
|
|
|
|
|
|
<p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p>
|
|
|
|
|
|
<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p></p>
|
|
|
<a href="https://h.cowbay.org/post/remote-management-system-meshcentral/" class="btn btn-transparent">read more</a>
|
|
|
</article>
|
|
|
</div>
|
|
|
|
|
|
<div class="col-lg-4 col-sm-6 mb-5">
|
|
|
<article class="text-center">
|
|
|
<img class="img-fluid mb-4" src="https://h.cowbay.org" alt="post-thumb">
|
|
|
<p class="text-uppercase mb-2">[Proxmox]</p>
|
|
|
<h4 class="title-border"><a class="text-dark" href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/">Install Asus 10G NIC XG-C100C in Proxmox</a></h4>
|
|
|
<p><p>前幾天接的一個case</p>
|
|
|
|
|
|
<p>因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)</p>
|
|
|
|
|
|
<p>改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)</p>
|
|
|
|
|
|
<p>storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C</p>
|
|
|
|
|
|
<p>既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡</p>
|
|
|
|
|
|
<p>一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡</p></p>
|
|
|
<a href="https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/" class="btn btn-transparent">read more</a>
|
|
|
</article>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
<!-- pagination -->
|
|
|
<div class="col-12">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<nav aria-label="Page navigation">
|
|
|
<ul class="pagination justify-content-center align-items-center">
|
|
|
|
|
|
|
|
|
<li class="page-item">
|
|
|
<a href="/amp/page/2/" class="page-link">
|
|
|
« Previous
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="page-item">
|
|
|
<a href="/amp/" class="page-link">
|
|
|
1
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="page-item">
|
|
|
<a href="/amp/page/2/" class="page-link">
|
|
|
2
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="page-item page-item active ">
|
|
|
<a href="/amp/page/3/" class="page-link">
|
|
|
3
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="page-item">
|
|
|
<a href="/amp/page/4/" class="page-link">
|
|
|
4
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="page-item">
|
|
|
<a href="/amp/page/5/" class="page-link">
|
|
|
5
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="page-item">
|
|
|
<a href="/amp/page/4/" class="page-link">
|
|
|
Next »
|
|
|
</a>
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
<!-- /pagination -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
<div class="container-fluid px-0">
|
|
|
<div class="row no-gutters instagram-slider" id="instafeed" data-userId="4044026246"
|
|
|
data-accessToken="4044026246.1677ed0.8896752506ed4402a0519d23b8f50a17"></div>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<footer class="bg-secondary">
|
|
|
<div class="section">
|
|
|
<div class="container">
|
|
|
<div class="row">
|
|
|
<div class="col-md-3 col-sm-6 mb-4 mb-md-0">
|
|
|
<a href="https://h.cowbay.org"><img src="https://h.cowbay.org/images/logo.png" alt="Parsa | Personal Blog Template" class="img-fluid"></a>
|
|
|
</div>
|
|
|
<div class="col-md-3 col-sm-6 mb-4 mb-md-0">
|
|
|
<h6>Address</h6>
|
|
|
<ul class="list-unstyled">
|
|
|
|
|
|
<li class="font-secondary text-dark">Sydney</li>
|
|
|
|
|
|
<li class="font-secondary text-dark">6 rip carl Avenue CA 90733</li>
|
|
|
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="col-md-3 col-sm-6 mb-4 mb-md-0">
|
|
|
<h6>Contact Info</h6>
|
|
|
<ul class="list-unstyled">
|
|
|
|
|
|
<li class="font-secondary text-dark">Tel: +90 000 333 22</li>
|
|
|
|
|
|
<li class="font-secondary text-dark">Mail: exmaple@ymail.com</li>
|
|
|
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="col-md-3 col-sm-6 mb-4 mb-md-0">
|
|
|
<h6>Follow</h6>
|
|
|
<ul class="list-inline d-inline-block">
|
|
|
|
|
|
<li class="list-inline-item"><a href="#" class="text-dark"><i class="ti-facebook"></i></a></li>
|
|
|
|
|
|
<li class="list-inline-item"><a href="#" class="text-dark"><i class="ti-twitter-alt"></i></a></li>
|
|
|
|
|
|
<li class="list-inline-item"><a href="#" class="text-dark"><i class="ti-linkedin"></i></a></li>
|
|
|
|
|
|
<li class="list-inline-item"><a href="#" class="text-dark"><i class="ti-github"></i></a></li>
|
|
|
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="text-center pb-3">
|
|
|
<p class="mb-0">Copyright ©<script>var CurrentYear = new Date().getFullYear()
|
|
|
document.write(CurrentYear)</script> a theme by <a href="themefisher.com">themefisher.com</a></p>
|
|
|
</div>
|
|
|
</footer>
|
|
|
|
|
|
<script>
|
|
|
var indexURL = "https://h.cowbay.org/index.json"
|
|
|
</script>
|
|
|
|
|
|
<!-- JS Plugins -->
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/jQuery/jquery.min.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/bootstrap/bootstrap.min.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/slick/slick.min.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/headroom/headroom.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/instafeed/instafeed.min.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/masonry/masonry.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/reading-time/readingTime.min.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/smooth-scroll/smooth-scroll.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/search/fuse.min.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/search/mark.js"></script>
|
|
|
|
|
|
<script src="https://h.cowbay.org/plugins/search/search.js"></script>
|
|
|
|
|
|
<!-- Main Script -->
|
|
|
|
|
|
<script src="https://h.cowbay.org/js/script.min.js"></script>
|
|
|
<!-- google analitycs -->
|
|
|
<script>
|
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
|
ga('create', 'Your ID', 'auto');
|
|
|
ga('send', 'pageview');
|
|
|
</script></body>
|
|
|
</html> |