sambaを設定して、データベースのバックアップファイルをWindowsネットワークフォルダ経由でコピーすることができるようにしています。 sambaの使用にあたってSELinuxの設定が面倒だったので無効にしました。
CentOS Kickstart 設定ファイルから抜粋してます。
mkdir /home/smb mkdir /home/smb/share \cp -rf /root/samba/smb.conf /etc/samba/smb.conf chkconfig smb on chkconfig nmb on mkdir /home/smb/share/bkup-oracle mkdir /home/smb/share/bkup-postgres \cp -rf /root/backup/backup-database.sh /root/ crontab /root/backup/backup-database.crontab cat /root/backup/backup-database.rclocal >> /etc/rc.local chown -R nobody.nobody /home/smb chmod -R 777 /home/smb \cp -rf /root/selinux/config /etc/selinux/config
[global]のすぐ後に追加
[global] unix charset = UTF-8 dos charset = CP932
ワークグループをWindowsに合わせる
workgroup = WORKGROUP
セキュリティを変更
security = share
最後に追加
[Share] path = /home/smb/share writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777 share modes = yes
oracleとpostgresのDBバックアップを行う。 portはマスクかけています。
当初sudoで処理させようとしましたが、上手くいかなかったので処理を変更しています。
#!/bin/bash cd /home/smb/share/bkup-oracle export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/xe export ORACLE_SID=ORCL export ORACLE_BASE=/u01/app/oracle export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib/:/lib:/usr/lib NLS_LANG=Japanese_Japan.JA16SJISTILDE; export NLS_LANG exp SYSTEM/manager FILE=expfull.dmp FULL=y LOG=expfull.log cd /home/smb/share/bkup-postgres #sudo -u postgres pg_dumpall -p ????? > pgfull.dmp su -l postgres -c "pg_dumpall -p ?????" > pgfull.dmp chown -R nobody.nobody /home/smb/share
毎日03:08にバックアップを実行する
8 3 * * * /root/backup-database.sh
起動時にバックアップを実行する
bash /root/backup-database.sh
SELinuxを無効にする
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted