windows batch shell 日期格式 MMMMDDYY
這也沒甚麼, 就是中文系統會有影響, 要把code page改一下就可以了, 否則 date 指令會出現週三,週四這種中文字
@echo off
chcp 65001
echo %date:~3,4%%date:~8,2%%date:~11,2%
這也沒甚麼, 就是中文系統會有影響, 要把code page改一下就可以了, 否則 date 指令會出現週三,週四這種中文字
@echo off
chcp 65001
echo %date:~3,4%%date:~8,2%%date:~11,2%
docker container產出log有兩種方式, 一種丟給docker輸出, 另一種是自己產出log檔案
長時間使用, volume就會莫名越來越肥, 讓備分增加難度, 有必要把這些檔案抓出來,
最簡單就是利用linux的指令, 抓出大的檔案, 再寫shell另外處理
find /docker-volume-dir -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
#抓出超過100M的檔案
原本打算實驗一下, 利用 Rclone 掛載遠端空間, 例如google drive, 當作mail server存放郵件的空間, 但這樣一定會有效能, 與timeout的問題, 想想還是算了.
言歸正傳, 我預計把一些阿貓阿狗的遠端伺服器, 直接mount到windows備分主機上面 , 然後用簡單的robocopy 或是 rsync 備份,
很丟臉的是, 最近才發現Rclone這個好用的開源掛載軟體, 可以掛載 SFTP , 那真是太好用了.
通常我們透過廣告信給分機制, 可以另外給予”合法郵件服務器”發出來的信件給予高額的廣告判斷分數, 讓系統退件.
因為是合法的服務器, 很多很多都讓該服務器代管, 我們無法直接以 ip, 或是相關特徵, 阻擋服務器發信,
對於我們來說, 唯一的方式就是設定該廣告主email, 給予很高廣告分數, 就可以擋下來了.
煩的是有些郵件服務器使用amazon server當作mail server 發信, 原始檔案裏面的 Return-Path 與 From 不一致 , 影響擋廣告機制判斷 , 造成這些人可以肆無忌憚, 不講武德一直發信, 而你怎麼設定該email或是網域, 都沒用, 根本擋不了.
Return-Path: <0101017f0f53948e-e5e68c2b-950e-4613-bd45-c0665e232ab5-000000@us-west-2.amazonses.com>
X-Original-To: xxx@xxx.com
Delivered-To: xxx@xxx.com
Received: from a27-63.smtp-out.us-west-2.amazonses.com (a27-63.smtp-out.us-west-2.amazonses.com [54.240.27.63])
From: =?UTF-8?Q?=E3=80=90iCheers_=E9=80=B1=E5=A0=B1=E3=80=91?= <newsletter@icheers.tw>
講武德的廣告信, Return-Path 與From 會一致
Return-Path: <solidwizard@s1.mailhunter.com.tw>
X-Original-To: xxx@xxx.com
Delivered-To: xxx@xxx.com
Received: from mx127.mailhunter.com.tw (mx127.mailhunter.com.tw [60.250.108.127])
From: =?utf-8?B?5a+m5aiB5ZyL6Zqb6IKh5Lu95pyJ6ZmQ5YWs5Y+4?= <solidwizard@s1.mailhunter.com.tw>
所以我們必須用另外一種作法, 掃描整個郵件headers, 只要符合該email 或 domain 就擋下來
以 Rspamd 的擋廣告機制來說,
修改 /etc/rspamd/local.d/regexp.conf
"RE_EMAIL_ICHEERS" = {
re = '/@icheers.tw/i{body}';
score = 15.0;
}
#只須改紅色部分
阻擋 icheers.tw 這個不講武德的廣告信 , 但是我還沒試出來完整email , 若寫完整email 還是會失敗, 有可能是bug.
測試ddns 3.9.1 無法直接使用google 通訊協定, 或許是相關安全連線套件造成的吧, 只好使用google domain建議的另一種方式
修改 /etc/ddclient.conf
protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generated_username
password=generated_password
your_resource.your_domain.tld
docker image還沒正式啟用變成container , 那裏面的資料如何抓出來呢? 答案應該也是暫時執行一下下, 趕緊複製後就刪掉該暫時container.
docker run -v $PWD:/opt/mount --rm --entrypoint cat inmethod/docker-postfix-ad:1.2 /etc/postfix/main.cf > main.cf
#將images裏面的/etc/postfix 複製到目前目錄下
docker run -v $PWD:/opt/mount --rm -ti inmethod/docker-postfix-ad:1.2 bash -c "cp /etc/postfix/* /opt/mount/"
這把年紀了,還在用ldif ,金害!
因為我有需求, 將postfix aliases屬性加到openldap裏面, 只找到schema , 因此又找到 fuck-openldap.sh , 看來這位老兄對openldap很不爽
root@6fa88f73c061:/# ./fuck-openldap.sh postfix.schema
./fuck-openldap.sh: converting /postfix.schema to LDIF //postfix.ldif
config file testing succeeded
./fuck-openldap.sh: LDIF file successfully created as //postfix.ldif
若你要玩postfix + ldap , 正好該ldap server是openldap server , 你就必須把這個ldif加到 openldap 裏面去, 檔案我準備好了,請按這裡下載postfix.ldif
Rspamd 讓我非常驚豔, 設定容易, 可以用來取代老牌amavisd-new套件
centos 7 系統簡易安裝如下:
curl https://rspamd.com/rpm-stable/centos-7/rspamd.repo > /etc/yum.repos.d/rspamd.repo # For Centos-7
rpm --import https://rspamd.com/rpm-stable/gpg.key
yum -y update
yum -y install ca-certificates unbound redis rspamd clamav clamav-devel clamav-scanner-systemd clamav-update clamav-data clamav-server clamav-server-systemd clamav-scanner
port 7379
bind 127.0.0.1 ::1
systemctl enable redis
systemctl start redis
##########################################
LocalSocket /run/clamd.scan/clamd.sock
LocalSocketMode 666
FixStaleSocket yes
##########################################
systemctl enable clamav-freshclam
systemctl enable clamd\@scan
https://kafeiou.pw/wp-content/uploads/2022/02/rspamd.zip
usermod -aG clamscan _rspamd
usermod -aG virusgroup _rspamd
systemctl enable rspamd
chown -R _rspamd:_rspamd /etc/rspamd/override.d
systemctl start rspamd
smtpd_milters = inet:127.0.0.1:11332
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
postfix reload
<VirtualHost *:443> ServerName mail.test.com ErrorLog /var/log/httpd/ssl_error_log TransferLog /var/log/httpd/ssl_access_log SSLEngine On SSLCertificateFile /etc/letsencrypt/live/mail.test.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/mail.test.com/privkey.pem SSLCACertificateFile /etc/letsencrypt//live/mail.test.com/fullchain.pem SSLProxyEngine On ProxyRequests Off ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" ProxyPass /rspamd/ http://localhost:11334/ ProxyPassReverse /rspamd/ http://localhost:11334/ <Location /> Order allow,deny Allow from all </Location> <Location /rspamd> Require all granted </Location> RewriteEngine On RewriteRule ^/rspamd$ /rspamd/ [R,L] RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P] </VirtualHost>
rspamadm pw
docker image 製作時, 廣告過濾機制rspamd , 會因為cron.daily每日執行 logrotate檢查, 將過多的log檔案封存, 這樣很好, 但是偏偏log檔案被至換掉, 程式也必須透過 systemctl 方式重開,
可是docker的程式重開偏偏與systemctl 方式不同, 會造成新的log檔案空的, 程式因為無法重開, 也寫不進去log 檔案, 目前能想到的就是幹掉 /etc/logrotate.d 裡面的所有檔案, 需要時再自己處理.