Java - Commons NetÀÇ FTPClient »ç¿ëÇÏ¿© FTP Á¢¼Ó¹× ÆÄÀÏ ÄÁÆ®·Ñ ¿Ï¼º ¼Ò½º
# ÀÛ¾÷ ³»¿ë
- ¼¹ö»ó¿¡ »ý¼ºÇÑ ÀÏÀÏ ¹é¾÷¹× ½Ã½ºÅÛ·Î±× ÆÄÀÏÀ», JAVA ÇÁ·Î¼¼½º¸¦ ÀÌ¿ëÇÏ¿© »ç¿ëÀÚÀÇ ·ÎÄà PC¿¡ ´Ù¿î·Îµå ÇÕ´Ï´Ù.
# ÇÊ¿ä ÀÛ¾÷
1) ¼¹ö¿¡ ÀÏÀÏ ¹é¾÷¹× ½Ã½ºÅÛ ·Î±× ÆÄÀÏÀ» »ý¼ºÇÏ´Â ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏ¿© crontab ·Î ÀÏÁ¤½Ã°£¿¡ ½ÇÇàµÇµµ·Ï µî·Ï ÇÕ´Ï´Ù.
2) ¼¹ö»óÀÇ Á¸ÀçÇÏ´Â ¹é¾÷ ÆÄÀÏ¹× ½Ã½ºÅÛ ·Î±×¸¦ FTP·Î Á¢¼ÓÇÏ¿© ÁöÁ¤µÈ ·ÎÄà PC¿¡ ´Ù¿î·Îµå ÇÕ´Ï´Ù.
# ¼¹ö¿¡¼ FTP ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
# ÀÛ¾÷ ³»¿ë
1) ÀÏÀÏ ¹é¾÷ ½ºÅ©¸³Æ® - Àû¿ë OS : Linux
- ÆÄÀϸí : daily_backup.sh
TODAY=`date +%Y%m%d`
OLDDATE=`date --date '5 days ago' +%Y%m%d`
echo "$TODAY daily report" >> /home/backup/logs/$TODAY.log
echo "$OLDDATE old date" >> /home/backup/logs/$TODAY.log
DELETE_OLD_FILE="/home/backup/$OLDDATE.tar"
DELETE_OLD_LOG="/home/backup/logs/$OLDDATE.log"
echo "Date Backup Start~!" >> /home/backup/logs/$TODAY.log
tar -cvf - /home/free/webapps/WebContent/WEB-INF/ > /home/data_backup/$TODAY.tar
echo "Date Backup End~!" >> /home/backup/logs/$TODAY.log
echo "" >> /home/data_backup/logs/$TODAY.log
echo "Old Data Delete Start~!" >> /home/backup/logs/$TODAY.log
rm $DELETE_OLD_FILE
rm $DELETE_OLD_LOG
echo "Old Data Delete End~!" >> /home/backup/logs/$TODAY.log
- ÆÄÀϸí : daily_system_log.sh
[backup@localhost ~]$ cat daily_system_log.sh
#!/bin/sh
TODAY=`date '+%Y-%m-%d'`
OLDDATE=`date --date '30 days ago' +%Y-%m-%d`
# ÇöÀç ³¯ÀÚÀÇ À̸§À» °¡Áø txt ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.
echo "$TODAY daily report" >> /home/backup/report/report_$TODAY.txt
echo "$OLDDATE old date" >> /home/backup/report/report_$TODAY.txt
# ÇöÀç ³¯ÀڷκÎÅÍ 30ÀÏ ÀüÀÇ ÆÄÀÏÀ» »èÁ¦ÇÕ´Ï´Ù.
DELETE_OLD_TXT="/home/backup/report/report_$OLDDATE.txt"
rm $DELETE_OLD_TXT
# NETWORK STATUS
# »ý¼ºµÈ ÆÄÀÏ¿¡ ¿ë·®È®ÀÎ ·Î±×¸¦ ÀúÀåÇÕ´Ï´Ù.
echo " " >> /home/backup/report/report_$TODAY.txt
df -h >> /home/backup/report/report_$TODAY.txt
echo " " >> /home/backup/report/report_$TODAY.txt
- ÆÄÀϸí : /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
# ¸ÅÀÏ »õº® 1½Ã¿¡ backup °èÁ¤À¸·Î daily_backup.sh¸¦ ½ÇÇà
01 1 * * * backup /home/backup/daily_backup.sh
# ¸ÅÀÏ »õº® 1½Ã¿¡ backup °èÁ¤À¸·Î daily_system_log.sh¸¦ ½ÇÇà
01 1 * * * backup /home/backup/daily_system_log.sh
2) FTPClient ¸¦ ÀÌ¿ëÇÏ¿© ÆÄÀÏ ´Ù¿î·Îµå
- Commons Net ¶óÀ̺귯¸®¸¦ ´Ù¿î·Îµå
°æ·Î : http://jakarta.apache.org/site/downloads/downloads_oro.cgi
Commons Net ¶óÀ̺귯¸® »ç¿ë¹ý Æß±Û :
http://develop.sunshiny.co.kr/266?category=8
- ¼³Á¤ÆÄÀÏ Á¤ÀÇ : Config.properties
# FTP ¼¹ö¹× ·ÎÄà ȯ°æ ¼³Á¤
# 2009.08.06 ÃÖÃÊÀÛ¼º - sunshiny
############################################################################
# ¼¹ö URL, IP
server.ip = 192.168.1.123
# FTP ¼¹ö Á¢¼Ó °èÁ¤ Á¤º¸
server.user = backup
server.passwd = 1234
# ¼¹ö»óÀÇ ÆÄÀÏÀÌ ÀÖ´Â À§Ä¡
server.path = /
# ´Ù¿î ÆÄÀÏ ÀúÀåÀ§Ä¡
local.path = D:/02.TEMP/
# ·Î±× ÆÄÀÏ ÀúÀå À§Ä¡
log.path = D:/02.TEMP/log/
# ¿ø°Ý ¼¹ö¿¡¼ ¹é¾÷ÇÒ ÆÄÀϸíÀº ±âº» "yyyyMMdd" Çü½ÄÀ» ÁöÄÑ¾ß Çϸç,
# È®ÀåÀÚ´Â º¯°æÇÏ¿© »ç¿ë °¡´É.
# ´Ù¿î·Îµå½Ã ÆÄÀÏ¸í º¯°æ. ÀúÀå ¿¹) day_20090806.tar
download.file.name = day_
# ´Ù¿î·ÎµåÇÒ ÆÄÀÏ È®ÀåÀÚ ¼³Á¤(¿ø°Ý ¼¹ö¿Í µ¿ÀÏ)
download.file.type = tar
# ´Ù¿î·ÎµåÇÑ ÆÄÀÏ»èÁ¦ ÁÖ±â (ÀÔ·ÂÇü½Ä 1~100 ¼ýÀÚ)
# °ø¹éÀÏ°æ¿ì »èÁ¦ ¾øÀ½.
download.file.delete = 6
############ ¼¹ö ¿ë·®È®ÀÎ ÅؽºÆ® ÆÄÀÏ ¼³Á¤ ###############
# ¼¹ö»óÀÇ ·Î±× ÆÄÀÏÀÌ ÀÖ´Â À§Ä¡
system.log.path = report/
# ÀúÀå(´Ù¿î·Îµå) À§Ä¡
local.log.path = D:/02.TEMP/daily_log/
# »èÁ¦ ÁÖ±â (ÀÔ·ÂÇü½Ä 1~100 ¼ýÀÚ)
# °ø¹éÀÏ°æ¿ì »èÁ¦ ¾øÀ½.
local.log.delete = 30
# ·ÎÄà PC ¿¡ ´Ù¿î·Îµå ¿¹¾àÀ» ½ÇÇà½Ã¿¡
cmd ÆÄÀ϶Ǵ bat ÆÄÀÏÀ» »ý¼ºÇÏ¿© ¾Æ·¡¿Í °°ÀÌ commons-net, Main Ŭ·¡½º ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ ÇØÁÝ´Ï´Ù.
±× ÈÄ¿¡ À©µµ¿ì¿¡ ÀÖ´Â ¿¹¾à¼³Á¤À» ÀÌ¿ëÇÏ¿© ÇØ´ç cmd ¶Ç´Â bat ÆÄÀÏÀ» ¼±Åà ÇØÁÝ´Ï´Ù.
- ÆÄÀϸí : start_backup.cmd
# ÀÌÈÄ JAVA ÆÄÀÏÀº ¼Ò½º¸¦ Âü°í.
- Àüü ¼Ò½º ´Ù¿î·Îµå -