Un'altra soluzione basata su @hwjp, se non è possibile utilizzare un altro volume di unità per spostarli, è possibile creare un volume di unità virtuale in un altro volume che ha più spazio disponibile (questo è il mio caso):
Crea volume virtuale:
A) fare: sudo dd if=/dev/zero of=VHD-log.img bs=1M count=1200
- if = / dev / zero: file di input per fornire un flusso di caratteri per l'inizializzazione della memorizzazione dei dati
- of = VHD.img: file immagine da creare come volume di archiviazione su / thevolumeofyourchoice
- bs = 1M: legge e scrive fino a 1M alla volta
- count = 1200: copia solo 1200M (1GB) blocchi di input
B) fare: sudo mkfs -t ext4 /thevolumeofyourchoice/VHD-log.img
formattare il tipo di file system EXT4 nel file di immagine del registro VHD con l'utilità mkfs.
C) fare: sudo mkdir /thevolumeofyourchoice/vlog
Montare il registro VHD in una directory (punto di montaggio)
D) fare: sudo mount -t auto -o loop /thevolumeofyourchoice/VHD-log.img /thevolumeofyourchoice/vlog
D1) Per montare VHD-log all'avvio del sistema nella directory finale, aggiungere questa voce nel file / etc / fstab.
/thevolumeofyourchoice/VHD-log.img /var/log/ ext4 defaults 0 0
Sposta i vecchi file di registro:
E) fare:
service rsyslog stop
lsof | grep /var/log
per elencare i file aperti in / var / log e disattivare il demone necessario (apach2, freshclam nel mio caso)
cp -rp /var/log/* /thevolumeofyourchoice/vlog
(cp -p come --preserve = mode, proprietà, timestamps)
F) fare:
sudo umount /thevolumeofyourchoice/vlog
sudo mv /var/log /var/log-old
sudo mkdir /var/log
sudo chgrp syslog /var/log
sudo mount -t auto -o loop /thevolumeofyourchoice/VHD-log.img /var/log
G) do: service rsyslog start
e riavvia gli altri servizi che hai interrotto
Infine ricontrolla:
Puoi fare un - lsof | grep /var/log
per elencare i file aperti in / var / log e verificare che puntino a / var / log e non / var / log-old
Puoi mv, eseguire il backup o eliminare / var / log-old dopo tutto è ok.