2022年2月15日 星期二

Ubuntu-Journalctl查看系統日誌

 近期所使用Ubuntu系統24小時開著,進行跑Python程式使用,但跑個2~3天,排程就無法正常寄信,SSH連線也無法正常連線,經查看後為wifi連線問題,暫先使用腳本排程進行重開wifi。

以下為記錄Journalctl指令。

使用Journalctl來從系統日誌上查看看問題。

journalctl #查看所有日誌。

journalctl -b -1 #從上啟動電腦後的日誌記錄開始查看。

journalctl -S "2022-01-01" -U "2022-01-03 11:00" #查看日期區間日誌。

journalctl _PID=66 #針對欄位查詢,程序代碼為66的。

journalctl _UID=1  #針對使用者查詢。




2022年2月7日 星期一

鍵盤-羅技K270無線鍵盤_USB3.X干擾

    近期將鍵盤改用羅技K270無線鍵盤,一開始使用時很正常反應也很沒延遲情況,近期因筆電需外出,將無線鍵盤接收器先行拔掉。

     外出回來後將無線鍵盤接受器插入,打字時發生許多異常情況,打字會不斷重覆單一按鍵,或單點一次Backspace鍵變成連續退除,造成不少困擾。

    ASUS 網站:https://www.asus.com/tw/support/FAQ/1004004/

  有表示此問題,為USB3.0孔和無線鍵盤的傳輸頻率2.4Ghz接近,會產生干擾。

解決方式:

一、改插USB 2.0孔。

二、使用USB2.0延長線。

2022年1月13日 星期四

Ubuntu-apt-get安裝、查詢、移除指令

 記錄Ubuntu、在命令中使用新增、查詢、移除套件指令。


使用權限指令更新套件清單

sudo apt-get update


使用權限指令更新已安裝套件。

sudo apt-get upgrade


使用權限指令安裝套件

sudo apt-get install <Package>


使用權限指令重新安裝套件

sudo apt-get --reinstall install <Package>


使用權限指令安裝多個套件

sudo apt-get install <Package1> <Package2>.....


使用權限指令用除個套件--purge參數為刪除配置檔。

sudo apt-get remove --purge <Package>


查看已安裝的套件

apt list --installed


查看線上套件可用版本

apt-cache madison <Package>

Python-pip指令應用

記錄pip相關指令。


參考網站:

Python 官網說明:

https://docs.python.org/zh-tw/3/installing/index.html 

Pip網站:

https://pip.pypa.io/en/stable/

https://pypi.org/project/pip/




查看Python版本

python --version


查看pip版本

pip --version


更新pip版本

pip install --upgrade pip


查看安裝套件及版本

pip list


安裝套件

pip install <Package>


更新套件

pip install --upgrade <Package>


移除套件

pip uninstall <Package>



2021年12月30日 星期四

Python-apscheduler工作排程器

 參考Google搜尋到的資訊,了解apscheduler套件用法。

常用的排工作二種方式:

一、apscheduler.schedulers.blocking-只執行排程的工作。

二、apscheduler.schedulers.background-啟動排程工作後,繼續執行程式。


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from apscheduler.schedulers.blocking import BlockingScheduler
import datetime

#設定三個副程式。
def job_1(text):
print('job_1:',text)
def job_2(text):
print('job_2:',text)
def job_3(text):
print('job_3:', text)

#設定時區為UTC。
schedule = BlockingScheduler(timezone='Asia/Taipei')

#2022年1月1日執行
#使用'data'一次性時間。
schedule.add_job(job_1, 'date', run_date=datetime.datetime(2022,1,1), args=['Happy New Year'])
#使用'interval'間段執行,weeks、days、hours、minutes、seconds。
#開始時間start_date、結束時間end_date。
schedule.add_job(job_2, 'interval', seconds=0, start_date='2022-01-01 00:00:00', end_date='2022-01-01 00:00:00',args=['Happy New Year'])
#使用cron周期執行,year、month、day、hour、minute、second。
#’*'為每年、每月、每週、每日、每小時、每分鍾」每秒。例如:(second='*')
#‘*/a’為除進就執行。例如:(second='*/2')每二秒執行一次。
#’a-b'執行時間區間。例如:(second='10-20')在10秒到20秒間,每秒執行一次。(second=10-20/2)為區間內每二秒執行一次。
#可指定特定年、月、日、時、分、秒和區間,例如:month='7-8',hour='8-12',minute=30 7-8月每天8-12的30分鍾執行。
#每年第一天執行。
schedule.add_job(job_3, 'cron', year='*',day=1,args=['Happy New Year'])

schedule.start()


結果:

    Happy New Year


2021年12月22日 星期三

Python-二維Dictionary字典格式使用

想使用二維字典做為資料整理成所需的格式,想把各ID的三天內獎金顯示出來。

使用:字典.update({KeyName: {}})   進行新增字典key。


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#設定ID編號。
ID_Number=['000001','000002','000003']
#設定資料。
Bonus={20210101:[ID_Number[0],10000,ID_Number[1],15000,ID_Number[2],18000],
20210102:[ID_Number[0],20000,ID_Number[1],25000,ID_Number[2],28000],
20210103:[ID_Number[0],30000,ID_Number[1],35000,ID_Number[2],38000]}
#指定日期。
Date=20210101
#設定dictionary格式。
All_Data={}

#將三個日期中將金的資料整理到同個ID下。
for d in Bonus:
#針對3個ID進行資料匯入。
for x in range (len(ID_Number)):
#判斷dictiaonary資料中沒此ID進行加入。
if not ID_Number[x] in All_Data:
#加入ID為key值。
All_Data.update({ID_Number[x]: {}})
# 判斷dictiaonary資料中沒此日期進行加入。
if not d in All_Data[ID_Number[x]]:
#加入日期為Key值。
All_Data[ID_Number[x]].update({d:None})
#進行ID_Number判斷寫入資料。
if ID_Number[x] == '000001':
All_Data[ID_Number[x]][d] = Bonus[d][1]
elif ID_Number[x] == '000002':
All_Data[ID_Number[x]][d] = Bonus[d][3]
elif ID_Number[x] == '000003':
All_Data[ID_Number[x]][d] = Bonus[d][5]

print(All_Data)
for a in All_Data:
print(a,All_Data[a])


結果:




2021年12月13日 星期一

Python-使用日期當字典的key值

 針對每日的文件進行整理,在讀取資料時以字典的格式,將Key值為日期。


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import datetime
import random

#設定data資料類別為字典格式。
data = {}
#抓取現在日期。
date = datetime.datetime.now()

#設定回傳資料。
def Data(date):
#回傳亂數值。
return random.randrange(100)

#抓取7天的資料。
while len(data) < 7:
#抓取資料KEY值為日期。
data[date.date()] = Data(date)
#減一天。
date -= datetime.timedelta(days=1)

print(data)
print(data[datetime.date(2021, 12, 13)])


字典內容key值為日期:





Ubuntu-Journalctl查看系統日誌

 近期所使用Ubuntu系統24小時開著,進行跑Python程式使用,但跑個2~3天,排程就無法正常寄信,SSH連線也無法正常連線,經查看後為wifi連線問題,暫先使用腳本排程進行重開wifi。 以下為記錄Journalctl指令。 使用Journalctl來從系統日誌上查看看問...