LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 693|回复: 2

如何在关机操作时保存文件

[复制链接]
发表于 2010-4-23 17:45:12 | 显示全部楼层 |阅读模式
为了加快firefox的速度,写了下面的脚本把firefox临时文件夹挂到内存上

  1. #!/sbin/runscript
  2. USER=${SVCNAME/firefoxfs./}
  3. FIREFOX="/home/${USER}/.mozilla/firefox"
  4. PROFILES="${FIREFOX}/*.default"
  5. PACKFILE="${FIREFOX}/profile.tar.gz"
  6. TMPFILE="/dev/shm/${USER}_profile.tar.gz"
  7. for f in `echo "$PROFILES"`
  8. do
  9. PROFILE="$f"
  10. done

  11. depend(){
  12.         after localmount root
  13. }


  14. start() {
  15. if test ! -d "$PROFILE"
  16. then
  17.         einfo "${PROFILE} is not a Directory"
  18.         return
  19. fi

  20. if test ! -f "$PACKFILE"
  21. then
  22.         packit
  23.         packed="true"       
  24. fi

  25. if test -z "$(mount | grep -F "${PROFILE}" )"
  26. then
  27.         mountit
  28. fi

  29. if test -z "$packed"
  30. then
  31.     rm "${PROFILE}\*" -rf
  32.     einfo "extract ${PACKFILE} to ${PROFILE}"
  33.     cp "$PACKFILE" "$TMPFILE" -f
  34.     tar -zxpf "$TMPFILE" -C "$PROFILE"
  35.     rm "$TMPFILE"
  36. fi
  37. }

  38. stop(){
  39. if test ! -z "$(mount | grep -F "${PROFILE}" )"
  40. then
  41.         packit
  42. fi
  43. }

  44. mountit(){
  45. mount -t tmpfs -o size=128M,user,exec,uid=1000,gid=100 firefox "${PROFILE}"
  46. }

  47. packit() {
  48. einfo "pack ${PROFILE} to ${PACKFILE}"
  49. cd "$PROFILE"
  50. tar -zcpf "$TMPFILE" *
  51. chown "$USER" "$TMPFILE"
  52. cp "$TMPFILE" "$PACKFILE" -pf
  53. rm "$TMPFILE"
  54. BACKUPPATH="${FIREFOX}/profiles"
  55. mkdir "$BACKUPPATH" -p
  56. chown "$USER" "$BACKUPPATH"
  57. ln "$PACKFILE" "${FIREFOX}/profiles/"`date +%F_%T`".tar.gz"
  58. }
复制代码


最近升级了openrc后,关机时不能再把firefox临时文件夹保存了,
问题在于关机时执行该服务stop操作前,挂载的目录已经被umount了
发表于 2010-4-23 22:04:32 | 显示全部楼层
现在firefox可以设定缓存目录了吧,直接把缓存目录放到tmpfs下,用起来已经很快了。
前段时间我也是把整个目录挂到tmpfs下,后来发现同步时不时会出点问题,所以还是老老实实的换回来了。
现在设定好缓存目录,速度上感觉也没有多大区别,但是不用再担心同步的问题了。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-24 09:42:59 | 显示全部楼层
感觉还是整个目录都在内存中速度要快些

又看了一下,上面的脚本也不是什么时候都不起作用
如果是用reboot或halt命令重启或关机,脚本运行正常
问题只出在使用gnome的重启和关机菜单时
猜想大概是gnome的的关机或重启操作时把所有能够umount的都umount了
目前所用的临时解决方案就是把gnome的关机菜单屏蔽掉以免不小心点到
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表