Welcome, anonymous (IP: 54.225.41.203). Sign in
Blog

Синхронизация данных в tmpfs с жёстким диском
Очень много частоиспользуемых данных в системе можно абсолютно безопасно переместить на хранение в tmpfs. /dev/shm, /tmp, /var/log, /var/lock, /var/run, или даже ~/Downloads. И очень бы хотелось хранить в tmpfs какие-либо базы данных, веб-сайты, электронную почту, но нельзя. На самом деле нет.

Скрипт позволяет синхронизировать данные находящиеся в памяти с данными на жёстком диске. Первый запуск скопирует все требуемые директории в tmpfs, а при повторном запуске все данные находящиеся в tmpfs в этих же директориях будут синхронизированы обратно с жёстким диском.
#!/bin/bash

main() {
  for m in $@; do
    if [ ! -d $m ]; then
      echo "* WARNING: $m"
    else
      temp=`/usr/bin/mktemp -d`
      if /bin/mountpoint -q $m; then
        if [ ! "`fuser -m $m 2>/dev/null`" = "" ]; then
          echo "* WARNING: $m"
          continue
        fi
        /usr/bin/rsync -a --delete $m/ $temp
        /bin/umount $m
        /usr/bin/rsync -a --delete $temp/ $m
      else
        /usr/bin/rsync -a --delete $m/ $temp
      fi
      /bin/mount -t tmpfs -o defaults,nosuid,nodev,size=1G tmpfs $m
      /usr/bin/rsync -a --delete $temp/ $m
      /bin/rm -rf $temp
      unset temp
      echo "* SYNCING: $m"
    fi
  done
}

if [ -a "/var/lock/tmpfs.lock" ]; then
  exit
fi
touch /var/lock/tmpfs.lock

main "$@"

rm /var/lock/tmpfs.lock


Использовать на свой страх и риск! Необходимо чётко понимать, какие именно данные будут синхронизированы, может быть, что какой-либо процесс попросту не даст размонтировать директорию находяющуюся в tmpfs. Тем не менее, используя с умом, скрипт позволит намного увеличить производительность приложений за счёт переноса частоиспользуемых данных в tmpfs.
# sh tmpfs.sh \
  ~/.mozilla \
  /srv \
  /var/spool/mail \
  /var/www


Когда данные в tmpfs станут больше не нужны и память потребуется освободить, то данные необходимо напоследок синхронизировать sh tmpfs.sh ~/.mozilla и просто размонтировать директорию umount ~/.mozilla.

Удачной работы за компьютером!
Author: Spoofing , @ , WWW
Published on: 2015-05-06 15:43:18
Views: 962
Comments: 2
Comments
Write a Comment:
 (Your comment will appear after it is approved)
 (Not over than 9000 characters)

anonymous
2017-09-13 05:00:55
 (Comment pending approval)
anonymous
2017-09-15 21:32:27
 (Comment pending approval)
Copyright © Spoofing. All rights reserved.