Inne rozwiązanie oparte na @hwjp, jeśli nie możesz użyć innego woluminu dysku do przeniesienia go, możesz utworzyć wolumin dysku wirtualnego na innym woluminie, który ma więcej dostępnego miejsca (tak jest w moim przypadku):
Utwórz wolumin wirtualny:
A) wykonaj: sudo dd if=/dev/zero of=VHD-log.img bs=1M count=1200
- if = / dev / zero: plik wejściowy zapewniający strumień znaków do inicjowania przechowywania danych
- of = VHD.img: plik obrazu do utworzenia jako wolumin pamięci w / thevolumeofyourchoice
- bs = 1M: odczyt i zapis do 1M na raz
- count = 1200: kopiuje tylko bloki wejściowe 1200 M (1 GB)
B) do: sudo mkfs -t ext4 /thevolumeofyourchoice/VHD-log.img
Sformatuj typ systemu plików EXT4 w pliku obrazu VHD-log za pomocą narzędzia mkfs.
C) do: sudo mkdir /thevolumeofyourchoice/vlog
Podłącz VHD-log do katalogu (punkt podłączenia)
D) wykonaj: sudo mount -t auto -o loop /thevolumeofyourchoice/VHD-log.img /thevolumeofyourchoice/vlog
D1) Aby zamontować dziennik VHD podczas uruchamiania systemu do katalogu końcowego, dodaj ten wpis do pliku / etc / fstab.
/thevolumeofyourchoice/VHD-log.img /var/log/ ext4 defaults 0 0
Przenieś stare pliki dziennika:
E) wykonaj:
service rsyslog stop
lsof | grep /var/log
do list otwiera pliki w / var / log i wyłącza potrzebnego demona (apach2, w moim przypadku freshclam)
cp -rp /var/log/* /thevolumeofyourchoice/vlog
(cp -p to samo, co --preserve = tryb, własność, znaczniki czasu)
F) wykonaj:
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
i uruchom ponownie inne usługi, które zatrzymałeś
Wreszcie podwójna kontrola:
Możesz zrobić - lsof | grep /var/log
aby wyświetlić listę otwartych plików w / var / log i sprawdzić, czy wskazują one na / var / log, a nie / var / log-old
Możesz mv, wykonać kopię zapasową lub usunąć / var / log-old, ponieważ wszystko jest w porządku.