# Skrypt dający nam folder w ramie

## dudycz.damian

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ść  :Smile: .

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

```
#!/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  :Smile: 

jako zwykły użytkownik:

ln -s /mnt/tmpfs/ ~/tmpfs

To wszystko  :Smile: . Nie wiem jak to się będzie sprawować z dużymi plikami, ale mam nadzieję, że dobrze. Może komuś się to przyda.

----------

## Jacekalex

Po co tyle żeźbienia? 

```
mkdir temp ; sudo mount -t tmpfs tmpfs $PWD/temp
```

 i mamy folder temp w ramie, bez żadnych wielkich czarów.

Ewentualnie w skrypcie, z 

```
#!/bin/bash
```

 na początku - razem 2 linijki   :Very Happy: 

Wynik:

```
$ mount | grep temp

tmpfs on /home/user/Desktop/temp type tmpfs (rw)
```

To by było na tyle

 :Cool: 

----------

## SlashBeast

0777 na katalog domowy to jest strzal w stope.

----------

## Garrappachc

Nie na cały home, a na folder z ramem.

----------

## lazy_bum

 *Jacekalex wrote:*   

> Po co tyle żeźbienia? 
> 
> ```
> mkdir temp ; sudo mount -t tmpfs tmpfs $PWD/temp
> ```
> ...

 

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.

----------

