Utwórz plik taki jak plik dziennika w CentOS, gdy ten plik dziennika zostanie zaktualizowany, wówczas kopia pliku dziennika również zostanie zaktualizowana. Może używam tego polecenia:
ln -s logfile copy_of_logfile
Następnie, gdy dodawana jest zawartość pliku dziennika, dodawana jest również zawartość pliku dziennika_kopii ==> jest OK, ale po usunięciu zawartości pliku dziennika zawartość pliku dziennika_kopii jest również usuwana.
Chcę, żeby tak było, gdy dodawana jest zawartość pliku dziennika, a następnie dodawana jest również zawartość pliku dziennika_kopii, a gdy treść pliku dziennika jest usuwana, chcę, aby treść pliku dziennika_pliku NIE została usunięta. Powiedz mi, jak to zrobić.
źródło
Uhm, nie. Jeśli utworzysz softlink, nadal masz tylko jeden plik .
Każde działanie na tym pojedynczym pliku spowoduje podwyższenie obu pozycji katalogu.
Wyjaśnię to na dwóch przykładach:
Przykład 1: To tak, jakbyś utworzył dwa wpisy w książce adresowej telefonu komórkowego z tym samym numerem telefonu. Otrzymujesz ten sam wynik podczas połączenia.
Przykład 2: Korzystanie z książki (indeks to pozycja katalogu)
Przed połączeniem:
A po miękkim linkowaniu:
W przykładzie historia wciąż kończy się na tych samych stronach. Jeśli edytujesz jedną z historii, obie zostaną zmienione.
Jeśli używasz twardego łącza zamiast miękkiego:
Tak, ponieważ jest to ten sam plik. To nie jest kopia.
Ponieważ chcesz móc usuwać z jednego pliku bez usuwania z drugiego pliku (kopii), będziesz potrzebować dwóch różnych plików.
Zaloguj się do dwóch plików lub podziel dane wyjściowe za pomocą
tee
.Alternatywą jest użycie
tail -f
do odczytania wszystkich nowych informacji dodanych do oryginalnego pliku dziennika. (i dodaj to do kopii zapasowej).źródło
W rzeczywistości istnieje sposób, aby uzyskać to, czego chcesz: działającą kopię danego pliku. Można go uzyskać, tworząc nazwaną rurę ,
który, jak sama nazwa wskazuje, jest plikiem, do którego zostanie zapisany dziennik, a następnie odczytany z niego
tee
poleceniem, aby wysłać dane wyjściowe do dwóch identycznych plików:Spowoduje to automatyczne wygenerowanie dwóch identycznych plików, które są przechowywane krok po kroku, gdy do każdego z nich dodawany jest nowy materiał.
Jeśli chcesz mieć pewność, że proces nigdy się nie zatrzyma, dodaj
while
pętlę,Może to być skryptowane, uruchamiane przy rozruchu, odradzane, jeśli chcesz, aby działało wiecznie i tak dalej.
źródło