Zdravim aby sa mi pri RP nenicila sd karta zapisovanim logov tak si v ramke vytvorim particiu kde sa to bude zapisovat a zaroven skript ktorym sa vytvori zaloha na pevny disk. Skript chcem spustat pri vypinani systemu a pravidelne cca kazdy tyzden (nastavit v crone).
Otazky sú: ci nieje v danom skripte chyba a kde ho umietnit aby sa spustal pri vypnuti systemu.
#!/bin/sh
backup_files="/tmp /var/tmp /var/log /var/run /var/spool"</em>
dest="/media/Disk/RamDisk"</em>
day=$(date +%A)</em>
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
echo "Zálohujem $backup_files do $dest/$archive_file"</em>
date
echo
tar czf $dest⁄$archive_file $backup_files</em>
echo</em>
echo "Záloha bola vytvorená"
date
rm /tmp /var/tmp /var/log /var/run /var/spool</em>
#spustitelnost chmod +x ZlalohaRamDisk.sh
Vyzerá to OK, len keď to budeš napríklad rozbiť pravidelne v nedeľu, tak sa ti vždy tá záloha prepíše, pretože ukladáš len názov dňa, ale to je možno zámer.
Tak zamer to nebol, ale aj tak by som to premazaval tak to je ok a nevies plz kam umiestnit ten skript aby sa spustil pred vypnutim pc?
Ja mám napísaný vlastný shutdown skript, takže by som postupoval rovnako. On ti pred vypnutím spustí zálohovací skript a potom poweroff (teda podľa initu, ak máš systemd je to tuším systemctl poweroff).
ok dik, vyskusam.
a potom nezabudni prist sa stazovat, ze ti to cele nefunguje (system aj skript)...
nepouzitelne a zbytocne...
Čosi sa mi marí, že voľba
archivedir
v konfiguráciilogrotate
by mala byť lepšou voľbou v spolupráci s občasným spustením logrotate cez cron (default) a pri vypnutí stroja. A ako bonus by som odporučil ajzram
na šetrenie RAM keďže logy sú nádherne komprimovateľné. Je to prehľadnejšie a odbúra to aspoň ten nefunkčný riadok s mazaním adresárov (symlonkov alebo prípojných bodov).cosi sa mi mari, ze volbu archivedir logrotate nepozna. cosi sa mi mari, ze pozna olddir, ale cosi sa mi mari, ze The directory must be on the same physical device as the log file being rotated.
cosi sa mi mari, ze zram was merged into the Linux kernel mainline in kernel version 3.14. a cosi sa mi mari, ze logy uz su komprimovane (po rotovani)...
alebo sa mi to vsetko len mari...?
Aha, takže ten archivedir tam ešte nedali. Ale mám taký dojem že sa to dá urobiť cez direktívu postrotate a príkaz mv s správnou maskou, len na minsize by som si dal pozor. Nepoužívam také vychytávky taže mám len zbežný prehľad. Ja riešim niečo podobného pomocou centrálneho logovacieho stroja ktorému počúva syslog z vnúrornej siete. Ale to nerieši nepotrebný balast (/var/tmp, /tmp a /var/run ktoré majú zmysel len počas aktuálneho behu systému, presnejšie povedané počas behu programov ktoré pracujú s danými TEMP súbormi a počas behu služieb ktorých správa vyžaduje pomocné informácie v /var/run).
A ten zram som myslel ako ramdisk. Teda tak, ako bol zram nadizajnovaný. Je predsa len lepšie ukusnúť 5x menej miesta. Používam to roky rokúce aj na swap k plnej spokojnosti.
logrotate si este nastudujem a uvidim ci ho pouzijem ale zram nepouzijem, lebo to vyhradi na dany ucel pamet ram ktora je uz nepouzitelna pre klasicke aplikacie
preco myslis ze ten posledny riadok s tym mazanim apdresarov je nefunkcny?
p.s.: zatial je setko len v teoretickej rovine, lebo k serveru sa dostanem az o cca tyzden
Zram ktorý používam ja si vytvára blokové zariadenie o maximálnej veľkosti určenej parametrom modulu, ale neuzamyká tú RAM bez jej použitia. Pristupuje k tomu podobne ako pristupuje TMPFS. Len po zmazaní súboru tú pamäť nemusí uvoľniť. Ja mám takto swap o veľkosti 1/2 RAM ale z neho sa mi ešte za tie roky nepodarilo použiť viac ako 1/3 (v reále teda do 1/6 RAM bez kompresie, s kompresiou menej). A to kôli swapiness, nie kôli nedostatku miesta, ale to je vedľajšie.
A k tomu nefunkčnému riadku, skúšal si ho nanečisto?
ako hovorim, nemam k tomu momentalne pristup a na NB mam win7 tak to nemam ako odskusat, ale uz som si to upravil a uvidim ako to bude fungovat v praxi, dik za pripomienky
Držím palce. Prinajhoršom budeš tú SD kartu nahrávať až kým to nebude odladené. Ale ako som spomónal, tak priečinkami z toho listu mimo /var/log by som sa vôbec nezaoberal. Maximálne by som to skontroloval.