Logs

發送到 root 的電子郵件:“來自您的工作 1843 的輸出”-“已殺”

  • November 10, 2018

sources.list我使用 Debian 9 執行 Sheevaplug(小型 ARM 伺服器)。它沒有在/中啟用任何第三方儲存庫sources.list.d

我有一個備份腳本,它執行為root,並使用at. 我認為 9 月 13 日出現了問題,因為我收到的這些電子郵件看起來像是來自at. 它們每天都有,就像我的備份一樣。郵件正文只是說Killed

我想不出什麼會向我的程序發送 SIGKILL !在沒有收集到比我現在更多的資訊的情況下,您能想到會發生這種情況的任何原因嗎?

它不能來自 OOM 殺手(記憶體不足情況),因為我有一個完整的核心日誌,dmesg其中沒有顯示任何 OOM 消息。

at工作是

#!/bin/sh
# at uses sh shell

set -e                   
cd /d/backup/jenkins-desktop/

for i in */; do                              
   nice ionice -c 3 rdiff-backup "$i" ../jenkins-desktop.rdiff/"$i"
done

我懷疑它是 systemd SystemCallFilter=,預設情況下會發送 SIGSYS 。我看到有幾個rlimits 發送 SIGKILL。但是我沒有做任何事情來設置rlimits 自己;看起來在這兩種情況下你都會首先被 SIGXCPU 殺死,它預設為致命並且應該顯示“超出 CPU 時間限制”。

我查看了journalctl --since=-2d -p notice,沒有錯誤,只有一些來自anacron.


Return-path: <root@brick>
Envelope-to: root@brick
Delivery-date: Thu, 13 Sep 2018 02:14:15 +0100
Received: from root by brick with local (Exim 4.89)
       (envelope-from <root@brick>)
       id 1g0GD0-0000Xr-Bz
       for root@brick; Thu, 13 Sep 2018 02:14:14 +0100
Subject: Output from your job     1843
To: root@brick
Message-Id: <E1g0GD0-0000Xr-Bz@brick>
From: root <root@brick>
Date: Thu, 13 Sep 2018 02:14:14 +0100
X-IMAPbase: 1541805998 113
Status: O
X-UID: 1

Killed

郵件正文只是說Killed

抱歉,這是不正確的。

第一條消息的正文說Killed。我認為這是管理員(我)執行的一次性殺戮:-)。

可以通過查看後續消息來調查我收到每日消息的原因。或者,我現在應該小心並說第二條和最後一條消息看起來一樣:-)。

Previous backup seems to have failed, regressing destination now.
Exception '[Errno 28] No space left on device' raised of class '<type 'exceptions.IOError'>':
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/robust.py", line 32, in check_common_error
   try: return function(*args)
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/restore.py", line 468, in get_fp
   Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/Rdiff.py", line 73, in write_patched_fp
   rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp), out_fp)
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/rpath.py", line 64, in copyfileobj
   outputfp.write(inbuf)

Exception '[Errno 28] No space left on device' raised of class '<type 'exceptions.IOError'>':
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 304, in error_check_Main
   try: Main(arglist)
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 324, in Main
   take_action(rps)
 File "/usr/lib/python2.7/dist-packages/rdiff_backup/Main.py", line 280, in take_action
   elif action == "backup": Backup(rps[0], rps[1])

您可能想知道“回歸目的地”似乎因“設備上沒有剩餘空間”而失敗。我不確定,因為驅動器上似乎有相當多的空間,但這是另一天的問題。

引用自:https://unix.stackexchange.com/questions/480871