2019年12月18日 星期三

好用的Windows快捷鍵

我覺得常用的
按這個按鍵 即可執行此動作
Windows標誌鍵  + L 鎖定您的電腦。
Windows標誌鍵  + D 顯示或隱藏桌面。
F2 重新命名選取的項目。
Ctrl + D (或 Delete) 將選取的項目刪除並移到資源回收筒。
Ctrl + Y 重做動作。
Windows
標誌鍵  + E
開啟 [檔案總管]。
Windows
標誌鍵  + M
將所有視窗最小化。
Windows
標誌鍵  + R
開啟 [執行] 對話方塊。
Windows
標誌鍵  + 向上鍵
將視窗最大化。
Windows
標誌鍵  + 向右鍵
將應用程式或桌面視窗向螢幕右側最大化。
Windows
標誌鍵  + 向左鍵
將應用程式或桌面視窗向螢幕左側最大化。
Windows
標誌鍵  + 向下鍵
從螢幕移除目前的應用程式,或將桌面視窗最小化。
Ctrl + F 選取搜尋方塊。
Ctrl + N 開啟新的視窗。
Ctrl + Shift + N 建立新資料夾。

2019年12月11日 星期三

How-to install nvm(Linux)


Install & Update script

To install or update nvm, you should run the install script. To do that, you may either download and run the script manually, or use the following cURL or Wget command:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash
Running either of the above commands downloads a script and runs it. The script clones the nvm repository to ~/.nvm, and adds the source lines from the snippet below to your profile (~/.bash_profile~/.zshrc~/.profile, or ~/.bashrc).
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Note: If the environment variable $XDG_CONFIG_HOME is present, it will place the nvm files there.

2019年12月10日 星期二

How to install Docker-Compose (Linux) 簡單的安裝Docker-Compose


Run this command to download the latest version of Docker Compose:
請依照以下幾個步驟 約3分鐘即可安裝完畢
please check Last release first → https://github.com/docker/compose/releases/ 
請先到官方的頁面檢查目前最新的版本號碼
more safe for user 此方法較推薦也較安全

Please change 1.25.0 to Last release version
請更換1.25.0改成目前最新釋出的版本

  1. curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o ~/docker-compose
  2. chmod +x ~/docker-compose
  3. sudo mv ~/docker-compose /usr/local/bin/docker-compose

2019年12月8日 星期日

Build a Ansible Tower by WSL


前置準備


如果需要使用Ansible Tower需要序號,可以註冊帳號取得試用版本,不過也不能直接安裝在Windows上。所以這邊會使用到WSL(Windows Subsystem for Linux)來安裝CentOS(Ansible Tower不支援Ubuntu 18,剛好我自己使用的是Ubuntu 18,所以另外裝了CentOS on WSL)
在CMD裡面切換指令
powershell.exe
wsl -d CentOS-WSL
取消WSL註冊 wsl --unregister CentOS-WSL

Make a to-do list


  • 需要Windows 10 Enterprise 1903或更新版本 / 或是直接安裝一個CentOS 7的實體機 (使用VM需要注意網路設定)
  • 先確認更新並啟用WSL功能
  • 先安裝postgresql(ansible)
  • 先安裝Docker for Windows
  • 啟用WSL預設應該是Ubuntu,然後在Ubuntu底下使用Docker
  • Build出一個CentOS 7
  • 在CentOS 7內安裝Andible Tower(記憶體建議4GB以上)
    • 安裝前先創建/var/log/tower的日誌目錄,不然會報錯 mkdir -p /var/log/towe

Error


Could not find the requested service rabbitmq-server
  1. 安裝 install erlang
Erlang Programming Language
  1. 安裝 install rabbitmq
Downloading and Installing RabbitMQ

Sub-pages


Installing the Docker client on Windows Subsystem for Linux (Ubuntu)
How to run CentOS 7 on WSL

Embed links


Installing the Docker client on Windows Subsystem for Linux (Ubuntu)
How to run CentOS 7 on WSL
Ansible Tower安装配置全过程(上)-sanshow的博客-51CTO博客
Ansible-Tower自动化运维管理环境 - 安装破解记录

2019年9月9日 星期一

MySQL 資料庫 相關常用指令





MySQL資料庫

常用指令

# 登入
shell> mysql -u root -p
# 顯示max_allowed_packet參數值
mysql> select @@global.max_allowed_packet, @@session.max_allowed_packet;
# 顯示使用者
mysql> select host, user, password from mysql.user;
# 設定log
mysql> SET GLOBAL general_log = 'ON';
mysql> SET GLOBAL slow_query_log = 'ON';
#創建使用者
mysql> create user 'root'@'localhost' identified by 'password';
#顯示User
mysql> SELECT User,Host FROM mysql.user;
#移除權限
mysql> revoke all privileges on *.* from 'root'@'127.0.0.1';
#刪除使用者
mysql> drop user 'root'@'127.0.0.1';
#更改密碼
mysql> set password=password('password');
#更改別人密碼
mysql> set password for 'jik'@'localhost' =password('123');
#顯示權限
mysql> SHOW GRANTS FOR 'root'@'localhost';
#給予所有權限(root)
mysql> Grant All Privileges On *.* To root@localhost Identified By 'password' With Grant Option;
#給予特定權限
GRANT ALL PRIVILEGES ON nextepfamily.* TO 'infopower'@'59.125.163.230' IDENTIFIED BY '!QAZ2wsx' WITH GRANT OPTION;

Docker MySQL 備份

docker exec CONTAINER /usr/bin/mysqldump -u root --password=password DATABASE > piwikbackup.sql

# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=password DATABASE > backup.sql

# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE

排程備份

# 於 Ubuntu Server 使用 Crontab 定時自動備份 Mysql 資料庫
# 使用指令 sudo vi /etc/crontab 編輯檔案
# 加入備份指令如下
# 分 時 日 月 週 使用者 指令
# 表示於每日12點整,以 root 身份備份 mysql 所有資料庫並存放到 /home/user/mysqldump/ 資料夾中
0 0 * * * root mysqldump -u root -ppassword --all-databases > /home/user/mysqldump/database_`date '+\%Y-\%m-\%d'`.sql
# 只備份指定的資料庫 somedb
0 0 * * * root mysqldump -u root -ppassword st_181 > /home/user/mysqldump/somedb_`date '+\%Y-\%m-\%d'`.sql
# 使用指令 sudo service cron restart 重啟 crontab 服務

# 或寫在batch裡
# 1.修改linux 排程檔案
nano /etc/crontab
# 2.加入【定期執行備份批次檔案】
0  19    * * *   root    /bin/bash /home/user/mongo_backup.sh
# 3.MYSQL batch檔大概這樣寫,第一行為mysql的dump指令,第二行為刪除超過七天的dump file
mongodump --host 127.0.0.1 -d reporting --port 27017 --username root --password password --out /home/report_db_backup//$(date +%Y-%m-%d)
find /home/report_db_backup/ -mtime +7 -delete
# 4. 把batch檔的權限打開
chmod 775

產金鑰匯出至別台電腦免登入

【用戶端】
一、建立不用密碼即可登入的ssh連線,先在用戶端建立公鑰、私鑰:
# ssh-keygen -t rsa
二、將公鑰檔案資料上傳到伺服器上:
# scp ~/.ssh/id_rsa.pub 要登入伺服器的帳號@伺服器IP:~

如果顯示以下訊息

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
####################################################
Please contact your system administrator.
Add correct host key in /home/####/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/#####/.ssh/known_hosts:1
RSA host key for A.B.C.D(IP) has changed and you have requested strict checking.
Host key verification failed.
lost connection
表示server被重灌了,這樣子新的server就和known_hosts裡的狀態不同。
在Client端以SSH連線到主機時,會要求產生認證資訊,儲存在client端的~/.ssh/known_ssh檔中。
只要以ssh-keygen -R將該host的認證資訊刪除。
#ssh-keygen -R IP位置
/home/####/.ssh/known_hosts updated.
Original contents retained as /home/####/.ssh/known_hosts.old
【伺服器端】
三、設定伺服器上的ssh
1.連上伺服器端,切換至使用者目錄檢查是否有.ssh目錄
# cd 使用者家目錄
# ls -ld .ssh
2.若沒有,建立此資料夾,並設定權限為700
# mkdir .ssh; chmod 700 .ssh
3.檢查是否有收到用戶端傳來的公鑰
# ls -l *pub
4.將公鑰檔案內的資料使用 cat 轉存到 authorized_keys 內
# cat id_rsa.pub >> .ssh/authorized_keys
# chmod 644 .ssh/authorized_keys
# ls -l .ssh
 
【用戶端】
四、將備份的指令寫成shell script,存檔至/使用者家目錄/backup/【web_autobackup.sh】
# cd /使用者家目錄
# mkdir backup
# cd backup
# vi web_autobackup.sh
 
五、在web_autobackup.sh中編修內容如下
# !/bin/sh
#
echo off 
echo '本機備份' 
    nowdate=`date +%Y%m%d`
    cd /使用者家目錄/backup
    tar zcf www_backup_"$nowdate" /var/www
    tar zcf mysql_backup_"$nowdate" /var/lib/mysql
# 
echo off 
echo '遠端備份' 
cd 用戶端目錄
sftp IP <<EOC 
cd 伺服器端目錄
put www_backup_$nowdate
put mysql_backup_$nowdate
bye 
EOC
 
六、透過指令【sh -x 要執行的shell script檔案】測試指令檔案沒有寫錯
#sh -x web_autobackup.sh
 
七、透過工作排程管理工具新增指定的工作排程
1.列出目前的所有排程
#crontab -l
2.新增排程
#crontab -e
3.新增排程紀錄
格式:\[分鐘\] [小時] \[日期\] [月份] \[星期\] [要執行的命令]
範例:30 1 * * * hwclock -w
每天1:30分執行一次電腦硬體時間校正的動作,【*】表示不指定
※若要執行的命令有包含到目錄,必須要用絕對路徑
 
在此網頁備份希望在每天0:10執行備份指令,則排程設定如下
10 0 * * * /備份script目錄/web_autobackup.sh
 
八、重新啟動工作排程的服務
#/etc/init.d/cron restart

2019年7月3日 星期三

[helpyourdata@qq.com].actin 又中勒索啦...

[helpyourdata@qq.com].actin

幾乎三天兩頭都在用的Windows File Server,這兩天要翻找古老的文件才被發現中了檔案勒索...
不過也很奇妙的是加密了快一個月都還沒被發現,而且已加密的檔案目前還不多
我猜應該是因為那台Server只有2G記憶體裝Windows Server又裝了一堆伺服器服務,根本沒多餘的資源跑加密程序吧...而且檔案太多沒辦法短時間跑完,記得當初只是Copy Paste整個D槽就跑了一個禮拜有🤣🤣🤣

東西是有放NAS的同步備份做異地備援,是不怕東西不見...只是要整台系統重灌再尻一次D槽很花時間就是了...

不過最後還是先拔網路關機,然後被催著繼續趕專案去了~
"有空再做的事情"再度+1

每次被迫抽身臨時處理這些事情的時候總是會想到
"infrastructure-as-code" 對於某些公司或環境來說根本遙不可及...
問題從來不是有沒有人力/資源去做這件事情,只是看大家夠不夠重視,用嘴巴講自動化說不要寫hard code,卻不願意正視技術債問題...

其實我一直不是很懂老闆的思維,以前曾經跟他談過的3個問題(薪資、技術債、歷史包袱),那時候他說後面兩個他覺得不是問題... 可是就現況來看就是一直為了後面兩個問題不斷付出代價 (找不到Source Code、文件沒紀錄、要嘛沒有上版控要嘛一次五六種版本...) 當然這些公司得承擔額外的人時成本與加班費

不過他說的也沒錯...技術債跟歷史包袱對工程師來說可能真的不是問題,換家公司問題就沒了...

佛心老闆佛心公司 開來給人練功用的
有沒有人最近想要要轉換跑道的 歡迎入坑(咦?


回歸正題,通常公司中勒索的時候我都不會想去解密或是付錢解鎖,沒辦法真的有效處理完善,付錢解了一道鎖,結果同時又偷埋了其他有害的加密程序,勒索病毒還是預防勝於治療,平時就有多份異地備援機制才是最好的處理。

火星一日

火星一日 💡 你知道嗎? 火星一日比地球長39分 標籤:天文, 火星, 時間 📖 真相大揭密 火星平均距太陽約2.3億公里,每687地球日繞一圈,等於1.8809地球年(1年320日18.2小時)或669.6個sol。sol是自轉日,長24小...