vsftpdにおいて運用中のftpのrootディレクトリを夜間に変更する手順
運用中のftpのrootディレクトリを夜間に入れ替えたときの手順をまとめておきます。
-
変更前ディレクトリ:
/home/ftpservice/ftp_root -
変更後ディレクトリ:
/data/ftp/ftp_root
-
/data/ftpを作成しておきます。
-
ルートフォルダを変更したvsftpd.confを用意しておきます。
-
入れ替え用スクリプトchange_ftp_dir.shを作成します。
3.1. ftpサービス停止
3.2. 旧ディレクトリのデータを新ディレクトリにコピー
3.3. アクセス権を設定
3.4. ftpサーバー用設定を変更(rootディレクトリを変更したものと置き換え)
3.5. ftpサービス起動
- crontabで夜間にchange_ftp_dir.sh起動するよう仕込んでおきます。
※手順2で作成するvsftpd.confは
local_root=/home/ftpservice/ftp_root/
を
local_root=/data/ftp/ftp_root/
に変更したファイルです。
※手順3の入れ替え用スクリプト
echo `date`
sudo /sbin/service vsftpd stop
sudo cp -rpf /home/ftpservice/ftp_root /data/ftp/
sudo chown -R ftpservice /data/ftp
sudo chgrp -R ftpservice /data/ftp
sudo cp vsftpd.conf /etc/vsftpd/vsftpd.conf
sudo chmod 0600 /etc/vsftpd/vsftpd.conf
sudo /sbin/service vsftpd start
echo `date`
作ったファイルは次の場所に配置しておきます。
/data/vsftpd.conf /data/change_ftp_dir.sh
5/15 23:00に実行させる場合の設定
$ crontab -e
00 23 15 05 * /data/change_ftp_dir.sh