Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # PROVIDE: my_tmpfs
- # REQUIRE: FILESYSTEMS
- # BEFORE: DAEMON
- # KEYWORD: shutdown
- #
- # Add the following lines to /etc/rc.conf to enable my_tmpfs:
- #
- # my_tmpfs_enable="YES"
- #
- # Todo: Must be added nojail to KEYWORD ?
- #
- . /etc/rc.subr
- name="my_tmpfs"
- rcvar=`set_rcvar`
- start_cmd="${name}_start"
- stop_cmd="${name}_stop"
- load_rc_config $name
- eval "${rcvar}=\${${rcvar}:-'NO'}"
- # Change these backup directories. pool500gb is a pool on a 500GB HD.
- samba_backup=/pool500gb/misc/backups/my_tmpfs/samba
- varlog_backup=/pool500gb/misc/backups/my_tmpfs/var_log
- spamd_backup=/pool500gb/misc/backups/my_tmpfs/spamd
- my_tmpfs_dist=/pool500gb/misc/backups/my_tmpfs/my_tmpfs.dist
- my_tmpfs_start()
- {
- debug "$name: start"
- /usr/sbin/mtree -deU -f $my_tmpfs_dist -p /var/spool > /dev/null
- if [ -n "$samba_enable" ] && checkyesno samba_enable; then
- debug "$name: samba enabled"
- mkdir -p /var/log/samba /var/run/samba /var/db/samba \
- /var/db/samba/perfmon /var/db/samba/printing
- cp $samba_backup/*.tdb $samba_backup/group_mapping.ldb /var/db/samba
- fi
- if [ -n "$lighttpd_enable" ] && checkyesno lighttpd_enable; then
- debug "$name: lighttpd enabled"
- mkdir -p /var/log/lighttpd
- chown www:www /var/log/lighttpd
- fi
- if [ -n "$openvpn_enable" ] && checkyesno openvpn_enable; then
- debug "$name: openvpn enabled"
- mkdir -p /var/log/openvpn
- fi
- if [ -n "$spamd_enable" ] && checkyesno spamd_enable; then
- debug "$name: spamd enabled"
- mkdir -p /var/run/spamd
- chown spamd:spamd /var/run/spamd
- /usr/local/bin/sa-learn --dbpath /var/spool/spamd/.spamassassin \
- --restore $spamd_backup/.spamassassin/backup.txt
- chown -R spamd:spamd /var/spool/spamd
- fi
- if [ -n "$named_enable" ] && checkyesno named_enable; then
- debug "$name: named enabled"
- mkdir -p /var/run/named
- chown bind:bind /var/run/named
- ln -s /var/named/var/run/named/pid /var/run/named/pid
- fi
- }
- my_tmpfs_stop()
- {
- debug "$name: stop"
- backup_file update $my_tmpfs_dist $my_tmpfs_dist.bak $my_tmpfs_dist.bak2
- /usr/sbin/mtree -c -d -i -n -k uname,gname,mode,nochange -p /var/spool > $my_tmpfs_dist
- if [ -n $varlog_backup ]; then
- mkdir -p $varlog_backup
- cp -a /var/log/ $varlog_backup
- fi
- if [ -n "$samba_enable" ] && checkyesno samba_enable; then
- debug "$name: samba enabled"
- mkdir -p $samba_backup $samba_backup/etc
- cp /var/db/samba/account_policy.tdb /var/db/samba/group_mapping.ldb \
- /var/db/samba/ntdrivers.tdb /var/db/samba/ntdrivers.tdb \
- /var/db/samba/ntforms.tdb /var/db/samba/ntprinters.tdb \
- /var/db/samba/registry.tdb /var/db/samba/share_info.tdb \
- $samba_backup
- cp /usr/local/etc/samba/*.tdb $samba_backup/etc
- /usr/local/bin/tdbbackup $samba_backup/*.tdb \
- $samba_backup/group_mapping.ldb $samba_backup/etc/*.tdb
- fi
- if [ -n "$spamd_enable" ] && checkyesno spamd_enable; then
- debug "$name: spamd enabled"
- mkdir -p $spamd_backup/.spamassassin
- backup_file update $spamd_backup/.spamassassin/backup.txt \
- $spamd_backup/.spamassassin/backup.txt.bak $spamd_backup/.spamassassin/backup.txt.bak2
- /usr/local/bin/sa-learn --backup --dbpath /var/spool/spamd/.spamassassin > \
- $spamd_backup/.spamassassin/backup.txt
- fi
- }
- run_rc_command "$1"
Advertisement
Add Comment
Please, Sign In to add comment