Is my SD card full on my raspberry pi?

Unless you need a history on your sensors, you could remove them from the logbook/recorder/history and leave just the switch domain.

1 Like

will do when I’m back back from work in a few hr

looks like its basically all in /var again, syslog, and daemon.log. should I delete the same as I did last time and then limit sensor data logging?

pi@raspberrypi:/var $ sudo du -cshx /*
7.4M	/bin
21M	/boot
0	/dev
3.8M	/etc
144M	/home
145M	/lib
16K	/lost+found
4.0K	/media
4.0K	/mnt
41M	/opt
du: cannot access ‘/proc/826/task/826/fd/3’: No such file or directory
du: cannot access ‘/proc/826/task/826/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/826/fd/3’: No such file or directory
du: cannot access ‘/proc/826/fdinfo/3’: No such file or directory
0	/proc
12K	/root
5.8M	/run
7.0M	/sbin
46M	/srv
0	/sys
24K	/tmp
596M	/usr
28G	/var
29G	total

pi@raspberrypi:/var/log $ sudo find / -type f -size +1G -ls
 15883 4158456 -rw-r-----   1 root     adm      4258250752 Jan  1 00:13 /var/log/syslog
 23275 14096988 -rw-r-----   1 root     adm      14435283629 Aug 13  2017 /var/log/daemon.log.1
 33212 7183128 -rw-r-----   1 root     adm      7355506688 Jan  1 00:06 /var/log/daemon.log
 23059 3020556 -rw-r-----   1 root     adm      3093038315 Aug 15  2017 /var/log/syslog.1
find: `/proc/840/task/840/fd/5': No such file or directory
find: `/proc/840/task/840/fdinfo/5': No such file or directory
find: `/proc/840/fd/5': No such file or directory
find: `/proc/840/fdinfo/5': No such file or directory

p.s. my pi thinks its 1970 :dizzy_face: - a result of stuffing it full of data I presume?

Last login: Thu Jan  1 00:01:30 1970 from 192.168.1.9
pi@raspberrypi:~ $ sudo systemctl stop home-assistant@pi

You can tail /var/log/syslog to see what’s creating all the entries too might be something else other than HA.

Looks like this is the moment where the disk filled up and there was an I/O error. Looking at the last 10,000 or so lines, this line:

Aug 15 15:55:00 raspberrypi hass[657]: #033[36m2017-08-15 15:55:00 DEBUG (Thread-15) [smartbridge] b''#033[0m

is entered about 2000x per second. So I presume this was an issue with the Phillips Smartbridge. Its possible that somebody unplugged it… could that have caused this? I don’t have the skills to further diagnose the database at this point. Do I need to learn vim or can I do this with nano? What is the next step- find most frequent entry of last few days? Or assume it was this and delete these db files again. Here are the last 50 or so lines before the debug thread:

Aug 15 15:55:00 raspberrypi hass[657]: #033[36m2017-08-15 15:55:00 DEBUG (Thread-15) [smartbridge] b''#033[0m
Aug 15 15:55:00 raspberrypi hass[657]: #033[36m2017-08-15 15:55:00 DEBUG (Thread-15) [smartbridge] b''#033[0m
Aug 15 15:55:00 raspberrypi hass[657]: #033[36m2017-08-15 15:55:00 DEBUG (Thread-15) [smartbridge] b''#033[0m
Aug 15 15:55:00 raspberrypi hass[657]: #033[36m2017-08-15 15:55:00 DEBUG (Thread-15) [smartbridge] b''#033[0m
Aug 15 15:55:00 raspberrypi hass[657]: #033[36m2017-08-15 15:55:00 DEBUG (Thread-15) [smartbridge] b''#033[0m
Aug 15 15:55:00 raspberrypJan  1 00:00:30 raspberrypi hass[654]: #033[31m1970-01-01 00:00:30 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (sqlite3.OperationalError) disk I/O error (retrying in 3 seconds)#033[0m
Jan  1 00:00:38 raspberrypi hass[654]: --- Logging error ---
Jan  1 00:00:38 raspberrypi hass[654]: Traceback (most recent call last):
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 2147, in _wrap_pool_connect
Jan  1 00:00:38 raspberrypi hass[654]: return fn()
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 387, in connect
Jan  1 00:00:38 raspberrypi hass[654]: return _ConnectionFairy._checkout(self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 766, in _checkout
Jan  1 00:00:38 raspberrypi hass[654]: fairy = _ConnectionRecord.checkout(pool)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 516, in checkout
Jan  1 00:00:38 raspberrypi hass[654]: rec = pool._do_get()
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 1229, in _do_get
Jan  1 00:00:38 raspberrypi hass[654]: return self._create_connection()
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 333, in _create_connection
Jan  1 00:00:38 raspberrypi hass[654]: return _ConnectionRecord(self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 461, in __init__
Jan  1 00:00:38 raspberrypi hass[654]: self.__connect(first_connect_check=True)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 663, in __connect
Jan  1 00:00:38 raspberrypi hass[654]: pool.dispatch.connect(self.connection, self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/event/attr.py", line 218, in __call__
Jan  1 00:00:38 raspberrypi hass[654]: fn(*args, **kw)
Jan  1 00:00:38 raspberrypi hass[654]: File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/recorder/__init__.py", line 308, in set_sqlite_pragma
Jan  1 00:00:38 raspberrypi hass[654]: cursor.execute("PRAGMA journal_mode=WAL")
Jan  1 00:00:38 raspberrypi hass[654]: sqlite3.OperationalError: disk I/O error
Jan  1 00:00:38 raspberrypi hass[654]: The above exception was the direct cause of the following exception:
Jan  1 00:00:38 raspberrypi hass[654]: Traceback (most recent call last):
Jan  1 00:00:38 raspberrypi hass[654]: File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/recorder/__init__.py", line 165, in run
Jan  1 00:00:38 raspberrypi hass[654]: self._setup_connection()
Jan  1 00:00:38 raspberrypi hass[654]: File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/recorder/__init__.py", line 325, in _setup_connection
Jan  1 00:00:38 raspberrypi hass[654]: models.Base.metadata.create_all(self.engine)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/sql/schema.py", line 3885, in create_all
Jan  1 00:00:38 raspberrypi hass[654]: tables=tables)
Jan  1 00:00:38 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Thu Jan  1 00:01:08 1970 [try http://www.rsyslog.com/e/2007 ]
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 1928, in _run_visitor
Jan  1 00:00:38 raspberrypi hass[654]: with self._optional_conn_ctx_manager(connection) as conn:
Jan  1 00:00:38 raspberrypi hass[654]: File "/usr/lib/python3.4/contextlib.py", line 59, in __enter__
Jan  1 00:00:38 raspberrypi hass[654]: return next(self.gen)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 1921, in _optional_conn_ctx_manager
Jan  1 00:00:38 raspberrypi hass[654]: with self.contextual_connect() as conn:
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 2112, in contextual_connect
Jan  1 00:00:38 raspberrypi hass[654]: self._wrap_pool_connect(self.pool.connect, None),
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 2151, in _wrap_pool_connect
Jan  1 00:00:38 raspberrypi hass[654]: e, dialect, self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 1465, in _handle_dbapi_exception_noconnection
Jan  1 00:00:38 raspberrypi hass[654]: exc_info
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/util/compat.py", line 203, in raise_from_cause
Jan  1 00:00:38 raspberrypi hass[654]: reraise(type(exception), exception, tb=exc_tb, cause=cause)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/util/compat.py", line 186, in reraise
Jan  1 00:00:38 raspberrypi hass[654]: raise value.with_traceback(tb)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/engine/base.py", line 2147, in _wrap_pool_connect
Jan  1 00:00:38 raspberrypi hass[654]: return fn()
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 387, in connect
Jan  1 00:00:38 raspberrypi hass[654]: return _ConnectionFairy._checkout(self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 766, in _checkout
Jan  1 00:00:38 raspberrypi hass[654]: fairy = _ConnectionRecord.checkout(pool)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 516, in checkout
Jan  1 00:00:38 raspberrypi hass[654]: rec = pool._do_get()
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 1229, in _do_get
Jan  1 00:00:38 raspberrypi hass[654]: return self._create_connection()
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 333, in _create_connection
Jan  1 00:00:38 raspberrypi hass[654]: return _ConnectionRecord(self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 461, in __init__
Jan  1 00:00:38 raspberrypi hass[654]: self.__connect(first_connect_check=True)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/pool.py", line 663, in __connect
Jan  1 00:00:38 raspberrypi hass[654]: pool.dispatch.connect(self.connection, self)
Jan  1 00:00:38 raspberrypi hass[654]: File "/home/pi/.homeassistant/deps/sqlalchemy/event/attr.py", line 218, in __call__
Jan  1 00:00:38 raspberrypi hass[654]: fn(*args, **kw)
Jan  1 00:00:38 raspberrypi hass[654]: File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/recorder/__init__.py", line 308, in set_sqlite_pragma
Jan  1 00:00:38 raspberrypi hass[654]: cursor.execute("PRAGMA journal_mode=WAL")
Jan  1 00:00:38 raspberrypi hass[654]: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) disk I/O error
Jan  1 00:00:38 raspberrypi hass[654]: During handling of the above exception, another exception occurred:
Jan  1 00:00:38 raspberrypi hass[654]: Traceback (most recent call last):
Jan  1 00:00:38 raspberrypi hass[654]: File "/usr/lib/python3.4/logging/__init__.py", line 982, in emit
Jan  1 00:00:38 raspberrypi hass[654]: self.flush()
Jan  1 00:00:38 raspberrypi hass[654]: File "/usr/lib/python3.4/logging/__init__.py", line 962, in flush
Jan  1 00:00:38 raspberrypi hass[654]: self.stream.flush()
Jan  1 00:00:38 raspberrypi hass[654]: OSError: [Errno 28] No space left on device
Jan  1 00:00:38 raspberrypi hass[654]: Call stack:
Jan  1 00:00:38 raspberrypi hass[654]: File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
Jan  1 00:00:38 raspberrypi hass[654]: self._bootstrap_inner()
Jan  1 00:00:38 raspberrypi hass[654]: File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
Jan  1 00:00:38 raspberrypi hass[654]: self.run()
Jan  1 00:00:38 raspbepi@raspberrypi:~ $ 
pi@raspberrypi:~ $

Check with

sudo du -cshx /var/*

That should show /var/log as being the culprit. Then what does ls -al /var/log show?

I’d probably suggest updating the configuration of logrotate to rotate daily, instead of the default weekly, by editing /etc/logrotate.conf and changing:

# rotate log files weekly
weekly

to

# rotate log files weekly
daily

That’ll keep you enough system logs to diagnose issues.

In the case of the smartbridge feature flooding your logs, that’s worth raising an issue about, just provide the logs on something like pastebin or hastebin, rather than trying to include thousands of lines in the issue itself :wink: