linux:rsync on crontab 持續發MAIL 解決方法

產生原因

在crontab 裡所執行的內容如果有輸出內容,預設就會發送到使用者的MAIL
通常mail 不能對外只會queue 在/var/spool 裡,一但server 可以外寄郵件時就會送
google 了幾個方法

解決方案

  • 解決產生問題的人
  • 修改crontab 的寄件人,簡單說就是讓他沒地方可以寄,但這樣真的有錯誤你也不會知道

  • 把 rsync 輸出結果導到/dev/null,但變成只有rsync 出錯也不會收到通

  • 最後我發現 -v 是個問題,因為詳細輸出了,重新檢視了參數,發現還有個 -q 的靜默模式,最終選定方案為

linux:netdata 系統效能監控利器

通用多數 OS

包含Linux base, macOS , pfsense , FreeBSD … 等等

安裝容易,隨裝即用

手上的 PVE 環境也是輕鬆安裝,多數linux base 跑這行就完成了,其他說明請見 官方手冊

登入 web ui

http://yourip:19999
Netdate 1

其他

  • Health check
  • mail alert
  • 支援 API
    更多更功能請見官方手冊.

問題解決

關閉health check and mail alert

因為我只需要臨時檢視,其他相關的健康指標由 Zabbix 完成

vim /etc/netdata/netdata.conf

參考資料:
netdata github
netdata docs

openvpn client 設定檔合併

原生設定檔需把有key 放一起,設定檔直接指向檔案

我習慣把他合成一個檔案

 

活用 find 指令參數-atime -Btime -ctime -mtime

出處 : http://note.tc.edu.tw/548.html
在活用 find 指令參數-exec 這篇中有提到-exec 的使用,現在來談談和時間有關的額外的選項 -atime -Btime -ctime -mtime:
-atime 檔案的最後存取時間到find 的執行時間差
-amin n 同 -atime 只是n是以分為單位
-Btime 檔案的inode 建立時間到find 的執行時間差,這參數限用於Freebsd
-ctime 檔案的狀態資訊最後修改的時間到find 的執行時間差
-cmin n 同 -ctime只是n是以分為單位
-mtime 檔案的最後修改時間到find 的執行時間差
-mmin n 同 -mtime只是n是以分為單位
我把 -mtime 作為範例說明 [FREEBSD]:
-mtime n[smhdw]
(未指定單位,則進位到下一個24小時,例如 25小時就是第2個24小時)
(有單位就以單位作運算)
可以用的單位是 s m h d w,在linux上,則沒單位可用
範例(部分範例是Freebsd only, linux上無單位):
在 7 天前有修改過的檔案,例如今天是6/10,則7天前是6/4
$ find ./ -mtime 7 
在 7 天之內有修改過的檔案,例如今天是6/10,則7天內則是6/4~6/10 的檔案都列出
$ find ./ -mtime -7 
在 7 天以前有修改過的檔案,例如今天是6/10,則7天6/4 以前的檔案都列出
$ find ./ -mtime +7 
在 7 天之內有修改過的檔案,以下三個是同義:
$ find ./ -mtime -7d
$ find ./ -mtime -7
$ find ./ -mtime -1w
不小心把檔案解壓,沒放到特定的目錄,因此要刪除,找出5分鐘內建立的檔案
$ find -cmin -5
刪除5分鐘內建立的檔案
$ find -cmin -5 -type f -exec rm -rf {} \;

Linux echo man2CHT

NAME
       echo - display a line of text

SYNOPSIS
       echo [SHORT-OPTION]... [STRING]...
       echo LONG-OPTION

DESCRIPTION
       Echo the STRING(s) to standard output.

       -n     do not output the trailing newline /  結束不換行

       -e     enable interpretation of backslash escapes /允許使用跳脫字元(\)

       -E     disable interpretation of backslash escapes (default) / 不允許使用跳脫字元(default)

       --help display this help and exit

       --version
              output version information and exit

       If -e is in effect, the following sequences are recognized:

       \\     backslash / 反斜線

       \a     alert (BEL) / 嗶嗶聲

       \b     backspace / Backspace

       \c     produce no further output / 從此行開始不輸出

       \e     escape / 此字元以後不輸出

       \f     form feed /換頁 (我實在不知到要怎麼翻 ...)

       \n     new line / 跳行

       \r     carriage return / 刪除該行 /r 前全部

       \t     horizontal tab /水平定位點

       \v     vertical tab / 垂直定位點

       \0NNN  byte with octal value NNN (1 to 3 digits) / 以10進位印出 ascii 字元 ex /0100 會印出@

       \xHH   byte with hexadecimal value HH (1 to 2 digits) / 以16進位印出 ascii 字元 ex /40 會印出@ (可man ascii)

       NOTE:  your  shell  may have its own version of echo, which usually supersedes the version
       described here.  Please refer to your shell’s documentation for details about the  options
       it supports.

AUTHOR
       Written by Brian Fox and Chet Ramey.

REPORTING BUGS
       Report echo bugs to [email protected]
       GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
       General help using GNU software: <http://www.gnu.org/gethelp/>
       Report echo translation bugs to <http://translationproject.org/team/>

COPYRIGHT
       Copyright  ©  2010  Free  Software  Foundation, Inc.  License GPLv3+: GNU GPL version 3 or
       later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free to change and redistribute it.  There is NO  WARRANTY,
       to the extent permitted by law.

SEE ALSO
       The  full  documentation for echo is maintained as a Texinfo manual.  If the info and echo
       programs are properly installed at your site, the command

              info coreutils 'echo invocation'

LINUX 裝完MYSQL RPM包 , 無法進入處理

今天裝完mysql  , 利用 mysqladmin -uroot password 設定完密碼後
mysql -uroot -p
居然跳出
[root@zabbix zabbix-2.0.8]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@zabbix zabbix-2.0.8]# /etc/init.d/mysqld stop
從此就進不去了 .. 只好再請出google  , 解決方法如下

打完收工 !!!

linux – initrd.img 解壓及重新製作

initrd.img解壓縮

 
cp /boot/initrd-***.img initrd.img.gz
gunzip initrd.img.gz
mkdir initrd
mv initrd.img initrd
cd initrd
cpio -ivmd < initrd.img 解壓縮完就可以重新編譯了,完成後使用以下命令重新製作 find . | cpio -ocv > ../initrd.new.img
gzip ../initrd.new.img

Apache設定限制目錄瀏覽的方法

方法一: 停用自動產生索引

在 apache 的 conf  裡 找到  

<Directory "/var/www/html">

Options Indexs FollowSymLinks 

AllowOverride None

Order allow,deny
Allow from all

</Directory>

再把 Indexs 刪掉 , 存檔後重啟 apache ,可以算是初級防護 ,進階為使用 .htaccess ,等我有用到再補充 ...

 

Linux cp 強制覆蓋檔案方法

如果你看了CP 的help 理論上加了 -f 就可以強制覆蓋了,但是你會發現加了還是詢問,可以先檢查一下 alias

#alias

會發現某些發行版本 會有 alias cp='cp –i'

這就是加了 -f 沒用的原因 , 二個解決方法

1. 用 unalias 暫時解除

#unalias cp

2.修改 .bashrc (ex:root)

#vi /root/.bashrc

將 alias cp='cp –i' 刪掉或註解掉 , 重登即可