View previous topic :: View next topic |
Author |
Message |
dudycz.damian n00b
Joined: 27 Feb 2011 Posts: 11
|
Posted: Tue Apr 26, 2011 8:23 pm Post subject: Skrypt dający nam folder w ramie |
|
|
Witam was. Napisałem sobie mały skrypt i pomyślałem, że komuś może się przyda, więc się nim podzielę.
Skrypt robi coś takiego, że mamy w katalogu domowym folder zapisany w pamięci ram (tmpfs). Pliki które tam mamy, są zapisywane na dysku podczas wyłączania komputera i przywracana po uruchomieniu. Mamy dzięki temu folder w którym możemy wykonywać szybko operacje na plikach, bez używania dysku twardego. Radzę oczywiście zawsze po zakończeniu pracy na plikach zapisywać je gdzieś indziej na dysku. Co prawda skrypt powinien je zapisać i przywrócić, ale zawsze coś się może wydarzyć (brak prądu, jakiś błąd). Jest on raczej po to, żeby zapobiec tragedii kiedy ktoś zapomni je sobie przenieść .
Więc zacznijmy:
jako root:
Tworzymy folder tmpfs w /mnt
# mkdir /mnt/tmpfs
Dopisujemy informację do fstab. w size podajemy jaki rozmiar tego katalogu chcemy. Ja mam w kompie 4GB i tyle dałem, jeśli braknie to najwyżej wrzuci do to swapu
# echo "tmpfs /mnt/tmpfs tmpfs size=4G,mode=0777 0 0" >> /etc/fstab
Tworzymy skrypt w /etc/init.d
# nano /etc/init.d/tmpfs
Code: | #!/sbin/runscript
depend() {
need localmount
}
start() {
ebegin "Przywracam pliki z tmpfs"
if [ "$(ls -A /var/tmpfs-copy)" ]; then
cp -Rpfv /var/tmpfs-copy/* /mnt/tmpfs/
fi
rm -Rf /var/tmpfs-copy/*
eend $?
}
stop() {
ebegin "Zapisuję pliki do tmpfs"
if [ "$(ls -A /mnt/tmpfs)" ]; then
cp -Rpfv /mnt/tmpfs/* /var/tmpfs-copy/
fi
eend $?
}
|
Ctrl+x zapisujemy
Nadajemy skryptowi prawa uruchomienia:
# chmod +x /etc/init.d/tmpfs
Dodajemy skrypt do boot:
# rc-update add tmpfs boot
i teraz możemy w katalogu domowym albo gdziekolwiek chcemy utworzyć dowiązanie do katalogu /mnt/tmpfs
jako zwykły użytkownik:
ln -s /mnt/tmpfs/ ~/tmpfs
To wszystko . Nie wiem jak to się będzie sprawować z dużymi plikami, ale mam nadzieję, że dobrze. Może komuś się to przyda. |
|
Back to top |
|
|
Jacekalex Guru
Joined: 17 Sep 2009 Posts: 553
|
Posted: Fri Apr 29, 2011 5:20 am Post subject: |
|
|
Po co tyle żeźbienia?
Code: | mkdir temp ; sudo mount -t tmpfs tmpfs $PWD/temp | i mamy folder temp w ramie, bez żadnych wielkich czarów.
Ewentualnie w skrypcie, z na początku - razem 2 linijki
Wynik:
Code: | $ mount | grep temp
tmpfs on /home/user/Desktop/temp type tmpfs (rw) |
To by było na tyle
|
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Fri Apr 29, 2011 9:19 am Post subject: |
|
|
0777 na katalog domowy to jest strzal w stope. |
|
Back to top |
|
|
Garrappachc Guru
Joined: 26 Dec 2008 Posts: 362 Location: Kraków
|
Posted: Fri Apr 29, 2011 8:59 pm Post subject: |
|
|
Nie na cały home, a na folder z ramem. _________________ De profundis clamavi ad Te, Domine
emerge --info | virtual aviation |
|
Back to top |
|
|
lazy_bum l33t
Joined: 16 Feb 2005 Posts: 691
|
Posted: Sat May 07, 2011 10:10 pm Post subject: |
|
|
Jacekalex wrote: | Po co tyle żeźbienia?
Code: | mkdir temp ; sudo mount -t tmpfs tmpfs $PWD/temp | i mamy folder temp w ramie, bez żadnych wielkich czarów.
Ewentualnie w skrypcie, z na początku - razem 2 linijki :D
Wynik:
Code: | $ mount | grep temp
tmpfs on /home/user/Desktop/temp type tmpfs (rw) |
To by było na tyle
8) |
Tyle, że Twoje dwie linijki nie robią tego automagicznie, nie mówiąc już o zachowaniu „stanu” tymczasowego katalogu i przywróceniu go. Nie każdemu użytkownikowi na prawo i lewo oddaje się też sudo.
Swoją drogą, jeżeli ktoś ma dużo pamięci, to może swobodnie trzymać /tmp w tmpfs. _________________ roslin uberlay | grubelek |
|
Back to top |
|
|
|