使用BigBlueButton时开启了录制功能,时间一久就发现空间不够用了,于是先用最基本的操作,删掉已外理过的录音文件来清理出空间:
1. 清理Logsudo bbb-conf –clean2. 删除旧的录像、文档、/etc/cron.daily/bigbluebutton删除 `exit 0` 行来启用自动清理清理项有:find /var/bigbluebutton -maxdepth 1 -type d -name “*-*” -mtime +11 -exec rm -r ‘{}’ \;find /usr/share/red5/webapps/video/streams -name “*.flv” -mtime +1 -exec rm ‘{}’ \;find /var/bigbluebutton/deskshare -name “*.flv” -mtime +1 -exec rm ‘{}’ \;find /var/freeswitch/meetings -name “*.wav” -mtime +1 -exec rm ‘{}’ \;3. 删除已处理过的wav文件sudo find /var/bigbluebutton/recording/process -name “*.wav” -exec rm ‘{}’ \;
这样做了之后能撑一段时间,可是时间久了又不够了,第一个念头就是加一块硬盘,然后把BigBlueButton默认的录像存放路径修改到新的硬盘上。
由于BigBlueButton本身没有提供修改录像文件路径的命令,于是我把BigBlueButton录制、处理、存储、回放的整个过程都详细研究了一遍,把这个过程中我认为所有涉及到路径的代码都给改了,可是最终还是不成功,实在找不出问题出在哪里,只能放弃了这个方案。不过可以把这个过程先记录下来,以做参考,想看较为可行的方案的可以跳过这部分:
录像与回放功能目录结构
/usr/local/bigbluebutton/ └── core ├── Gemfile ├── Gemfile.lock ├── lib │ ├── recordandplayback │ │ ├── audio_archiver.rb │ │ ├── deskshare_archiver.rb │ │ ├── events_archiver.rb │ │ ├── generators │ │ │ ├── audio_processor.rb │ │ │ ├── audio.rb │ │ │ ├── events.rb │ │ │ ├── matterhorn_processor.rb │ │ │ ├── presentation.rb │ │ │ └── video.rb │ │ ├── presentation_archiver.rb │ │ └── video_archiver.rb │ └── recordandplayback.rb └── scripts ├── archive │ └── archive.rb ├── bbb-rap.sh ├── bigbluebutton.yml ├── cleanup.rb ├── process │ ├── README │ └── slides.rb ├── publish │ ├── README │ └── slides.rb ├── rap-worker.rb └── slides.yml最终录像回放存放目录
- /var/bigbluebutton/published/slides/<meeting-id>
修改录像与回放目录:把原有的录像路径下所有文件与目录拷到目标路径,如/mnt下sudo cp -a /var/bigbluebutton /mnt/则新的录像与回放目录为:/mnt/bigbluebuttonsudo vi /usr/local/bigbluebutton/core/scripts/slides.yml
修改其中的publish_dirsudo vi /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml修改其中的recording_dir published_dir raw_deskshare_src raw_presentation_srcsudo vi /usr/local/bigbluebutton/core/scripts/cleanup.rb修改其中的PUBLISHED_DIR UNPUBLISHED_DIR RECORDING_DIRsudo vi /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
修改其中的presentationDir BLANK_SLIDE BLANK_THUMBNAIL recordStatusDir publishedDir unpublishedDir使用下面这条命令前先把地址修改为想要修改的地址,以便网络用户有权限访问该位置的内容sudo chown -R tomcat6:tomcat6 /mnt/bigbluebutton/playback/sudo vi /etc/bigbluebutton/nginx/slides.nginx修改其中的地址sudo chown tomcat6 /mnt/bigbluebutton修改目录所有者sudo bbb-conf –clean
折腾了半天,结果还是无法正常录像,重启服务器也没用,只能换个思路了。左思右想,想出了这么一个办法:
- 把 /var/bigbluebutton目录内的文件移动到别处
- 新增一块硬盘挂载到/var/bigbluebutton目录
- 用ls -ld /var/bigbluebutton查看一下目录权限,所有者是否为tomcat6
- 如果不是则修改为tomcat6
- 把移到别处的文件拷回/var/bigbluebutton下
- 在sudo vi /etc/fstab中新建条目以便每次重启时自动加载
附上挂新硬盘的方法:
查看移动硬盘
sudo fdisk -l
挂载
sudo mount -t ext4 /dev/sdb1 /var/bigbluebutton
注:如果是fat32格式的则用-t vfat参数,如果是ext3格式的则用-t ext3参数,/dev/sdb1改为你要挂载的硬盘的实际名称
设置重启后自动挂载
sudo vi /etc/fstab
在该文件中添加:
/dev/sdb1 /var/bigbluebutton ext4 defaults 0 0
由于BigBlueButton当前版本对于录像的存储、发布等功能还是非常不完善,只能先这样处理了。
当硬盘再次满了的时候还会面临新的问题。再加一块的话要么加一块更大的硬盘,把原有的录像文件复制到新的硬盘上;要么就制定一个规则,把超过一定时间的录像文件删掉,腾出新的空间来用。