smi to srt ÀÚ¸·ÆÄÀÏ ÀÚµ¿»ý¼º ±¸Çö
nkcrontab.sh (1.8K), Down : 310, 2013-05
nksmi2srt.sh (5.7K), Down : 320, 2013-05
유닉스든 리눅스든 기반(시놀로지, 넷기어 등)으로 하고 있는 NAS상에서
smi 자막을 자동으로 srt 자막으로 생성해주는 방법에 대해서 구현해봤습니다.
C언어나 PERL등 다른 랭귀지를 써도 되지만,
컴파일이 안되는 환경도 있고,
패키지 형태로 변환어플을 설치할수도 있는데,
간혹 smi 자막이 비표준화되어 오류가 나서 변환이 안되는 경우도 봤습니다.
패키지 형태로 변환어플을 설치할수도 있는데,
간혹 smi 자막이 비표준화되어 오류가 나서 변환이 안되는 경우도 봤습니다.
하여, 구현이 쉬운 쉘스크립트를 사용해서 직접 만들어 봤습니다.
시놀로지를 예로 들어서 설명드리겠습니다.
1. SSH 설정
시놀로지 관리패널 / 제어판 / 터미널
SSH 서비스 활성화 체크
시놀로지 관리패널 / 제어판 / 터미널
SSH 서비스 활성화 체크
2. root 접속
putty나 secureCRT 등으로 root 계정으로 접속
비밀번호는 admin 계정의 비밀번호와 동일
putty나 secureCRT 등으로 root 계정으로 접속
비밀번호는 admin 계정의 비밀번호와 동일
3. 볼륨밑에 root홈생성(root 홈과 별개임)
mkdir /volume1/homes/root
mkdir /volume1/homes/root
4. nkcrontab.sh 생성
vi /volume1/homes/root/nkcrontab.sh
아래 내용을 입력후 저장 또는 첨부파일참조
vi /volume1/homes/root/nkcrontab.sh
아래 내용을 입력후 저장 또는 첨부파일참조
#!/bin/sh
#
#
echo "################################################"
echo "# SMI to SRT convertor crontab ver 1.0 "
echo "# Created date: 2013.01.17 "
echo "# Creator info: http://www.nkpark.pe.kr "
echo "################################################"
echo "# SMI to SRT convertor crontab ver 1.0 "
echo "# Created date: 2013.01.17 "
echo "# Creator info: http://www.nkpark.pe.kr "
echo "################################################"
targetdir=/volume1/video
workdir=/volume1/homes/root
workfile=${workdir}/nksmi2srt.work
find ${targetdir} -name "*.smi" -exec ls {} \; > ${workfile}
nkline=`cat ${workfile} | wc -l`
i=1
iok=0
sok=0
eok=0
while [ ${i} -le ${nkline} ]
do
read filename
echo "[${i}]-----------------------------------------------------------------------------"
echo "input: ${filename}"
ofilename=`dirname "${filename}"`/`basename "${filename}" .smi`.srt
echo "ouput: ${ofilename}"
if [ -f "${ofilename}" ]
then
sok=`expr ${sok} + 1`
echo "--> Skip....."
else
${workdir}/nksmi2srt.sh "${filename}" "${ofilename}"
if [ -f "${ofilename}" ]
then
iok=`expr ${iok} + 1`
echo "--> Change Completed!!!!!"
else
eok=`expr ${eok} + 1`
echo "--> Change Error....."
fi
fi
i=`expr ${i} + 1`
done < ${workfile}
i=`expr ${i} - 1`
echo "----------------------------------------------------------------------------------"
echo "## Total: ${i}, Skip: ${sok}, Changed: ${iok}, Error: ${eok}"
workdir=/volume1/homes/root
workfile=${workdir}/nksmi2srt.work
find ${targetdir} -name "*.smi" -exec ls {} \; > ${workfile}
nkline=`cat ${workfile} | wc -l`
i=1
iok=0
sok=0
eok=0
while [ ${i} -le ${nkline} ]
do
read filename
echo "[${i}]-----------------------------------------------------------------------------"
echo "input: ${filename}"
ofilename=`dirname "${filename}"`/`basename "${filename}" .smi`.srt
echo "ouput: ${ofilename}"
if [ -f "${ofilename}" ]
then
sok=`expr ${sok} + 1`
echo "--> Skip....."
else
${workdir}/nksmi2srt.sh "${filename}" "${ofilename}"
if [ -f "${ofilename}" ]
then
iok=`expr ${iok} + 1`
echo "--> Change Completed!!!!!"
else
eok=`expr ${eok} + 1`
echo "--> Change Error....."
fi
fi
i=`expr ${i} + 1`
done < ${workfile}
i=`expr ${i} - 1`
echo "----------------------------------------------------------------------------------"
echo "## Total: ${i}, Skip: ${sok}, Changed: ${iok}, Error: ${eok}"
5. nkcrontab.sh 실행권한
chmod 777 /volume1/homes/root/nkcrontab.sh
chmod 777 /volume1/homes/root/nkcrontab.sh
6. nksmi2srt.sh 생성
vi /volume1/homes/root/nksmi2srt.sh
아래 내용을 입력후 저장 또는 첨부파일참조
vi /volume1/homes/root/nksmi2srt.sh
아래 내용을 입력후 저장 또는 첨부파일참조
#!/bin/sh
#
#
##echo "################################################"
##echo "# SMI to SRT convertor shell program ver 1.2 "
##echo "# Created date: 2013.05.29 "
##echo "# Creator info: http://www.nkpark.pe.kr "
##echo "################################################"
##echo "# SMI to SRT convertor shell program ver 1.2 "
##echo "# Created date: 2013.05.29 "
##echo "# Creator info: http://www.nkpark.pe.kr "
##echo "################################################"
if [ "$#" -ne 2 ]
then
echo "Usage) $0 smi_file srt_file"
echo ""
exit
fi
then
echo "Usage) $0 smi_file srt_file"
echo ""
exit
fi
echo "[`date '+%Y-%m-%d %H:%M:%S'`] Started"
smi_file=$1
srt_file=$2
smi_file=$1
srt_file=$2
start_active_toggle=0
tag_active_toggle=0
file_active_toggle=0
copy_active_toggle=0
main_content=
tag_content=
my_time_result=
srt_i=1
i=1
tag_active_toggle=0
file_active_toggle=0
copy_active_toggle=0
main_content=
tag_content=
my_time_result=
srt_i=1
i=1
time_calc()
{
my_time_parsed=$1
{
my_time_parsed=$1
time_remain=${my_time_parsed}
time_1=00`expr ${time_remain} / 3600000`
str_st=`expr ${#time_1} - 1`
time_1=`expr substr "${time_1}" ${str_st} 2`
time_remain=`expr ${time_remain} % 3600000`
time_2=00`expr ${time_remain} / 60000`
str_st=`expr ${#time_2} - 1`
time_2=`expr substr "${time_2}" ${str_st} 2`
time_remain=`expr ${time_remain} % 60000`
time_3=00`expr ${time_remain} / 1000`
str_st=`expr ${#time_3} - 1`
time_3=`expr substr "${time_3}" ${str_st} 2`
time_4=`expr ${time_remain} % 1000`
time_result="${time_1}:${time_2}:${time_3},${time_4}"
##echo ${time_result}
}
time_1=00`expr ${time_remain} / 3600000`
str_st=`expr ${#time_1} - 1`
time_1=`expr substr "${time_1}" ${str_st} 2`
time_remain=`expr ${time_remain} % 3600000`
time_2=00`expr ${time_remain} / 60000`
str_st=`expr ${#time_2} - 1`
time_2=`expr substr "${time_2}" ${str_st} 2`
time_remain=`expr ${time_remain} % 60000`
time_3=00`expr ${time_remain} / 1000`
str_st=`expr ${#time_3} - 1`
time_3=`expr substr "${time_3}" ${str_st} 2`
time_4=`expr ${time_remain} % 1000`
time_result="${time_1}:${time_2}:${time_3},${time_4}"
##echo ${time_result}
}
tag_content_calc()
{
my_tag_content=$1
{
my_tag_content=$1
## <BODY>태그부터 작업시작인데, <BODY>태그가 없는 경우의 처리를 위해서 <SYNC>태그 부터 작업시작
my_check=`echo "${my_tag_content}" | grep -i "<SYNC START=" | wc -l`
if [ ${my_check} -eq 1 ]
then
time_parsed=`echo "${my_tag_content}" | cut -f 2 -d "=" | cut -f 1 -d ">"`
time_calc "${time_parsed}"
if [ ${start_active_toggle} -eq 0 ]
then
my_time_from="${time_result}"
my_time_to="${time_result}"
my_time_result="${my_time_from} --> ${my_time_to}"
start_active_toggle=1
else
my_time_from="${my_time_to}"
my_time_to="${time_result}"
my_time_result="${my_time_from} --> ${my_time_to}"
my_check=`echo "${my_tag_content}" | grep -i "<SYNC START=" | wc -l`
if [ ${my_check} -eq 1 ]
then
time_parsed=`echo "${my_tag_content}" | cut -f 2 -d "=" | cut -f 1 -d ">"`
time_calc "${time_parsed}"
if [ ${start_active_toggle} -eq 0 ]
then
my_time_from="${time_result}"
my_time_to="${time_result}"
my_time_result="${my_time_from} --> ${my_time_to}"
start_active_toggle=1
else
my_time_from="${my_time_to}"
my_time_to="${time_result}"
my_time_result="${my_time_from} --> ${my_time_to}"
my_check=`echo "${my_all_content}" | grep -i " " | wc -l`
if [ "${my_all_content}" != "" ] && [ ${my_check} -ne 1 ]
then
if [ ${file_active_toggle} -eq 0 ]
then
echo "" > "${srt_file}"
file_active_toggle=1
fi
if [ "${my_all_content}" != "" ] && [ ${my_check} -ne 1 ]
then
if [ ${file_active_toggle} -eq 0 ]
then
echo "" > "${srt_file}"
file_active_toggle=1
fi
##if [ ${copy_active_toggle} -eq 0 ]
##then
## copyrights head
## copy_active_toggle=1
##fi
echo "${srt_i}" >> ${srt_file}
echo "${my_time_result}" >> ${srt_file}
echo "${my_all_content}" >> ${srt_file}
echo "" >> ${srt_file}
srt_i=`expr ${srt_i} + 1`
fi
my_all_content=
fi
##echo ${my_time_result}
fi
##then
## copyrights head
## copy_active_toggle=1
##fi
echo "${srt_i}" >> ${srt_file}
echo "${my_time_result}" >> ${srt_file}
echo "${my_all_content}" >> ${srt_file}
echo "" >> ${srt_file}
srt_i=`expr ${srt_i} + 1`
fi
my_all_content=
fi
##echo ${my_time_result}
fi
## <BR>태그는 \n(행바꿈)으로 치환
my_check=`echo "${my_tag_content}" | grep -i "<BR>" | wc -l`
if [ ${my_check} -eq 1 ]
then
##main_content="${main_content}\n"
##main_content=`echo "${main_content}" | tr '<BR>' '\n' | tr '<br>' '\n' | tr '<Br>' '\n' | tr '<bR>' '\n'`
main_content=`echo "${main_content}" | sed 's/<BR>/\n/g' | sed 's/<br>/\n/g' | sed 's/<Br>/\n/g' | sed 's/<bR>/\n/g'`
fi
##echo "${my_tag_content}"
}
my_check=`echo "${my_tag_content}" | grep -i "<BR>" | wc -l`
if [ ${my_check} -eq 1 ]
then
##main_content="${main_content}\n"
##main_content=`echo "${main_content}" | tr '<BR>' '\n' | tr '<br>' '\n' | tr '<Br>' '\n' | tr '<bR>' '\n'`
main_content=`echo "${main_content}" | sed 's/<BR>/\n/g' | sed 's/<br>/\n/g' | sed 's/<Br>/\n/g' | sed 's/<bR>/\n/g'`
fi
##echo "${my_tag_content}"
}
main_content_calc()
{
my_main_content=$1
{
my_main_content=$1
if [ ${start_active_toggle} -eq 1 ]
then
##my_main_content=`echo "${my_main_content}" | tr -d '\f\r\n'`
my_main_content=`echo "${my_main_content}" | sed 's/\f//g' | sed 's/\r//g' | sed 's/\n//g' | sed 's/^M//g'`
my_all_content="${my_all_content}${my_main_content}"
fi
}
then
##my_main_content=`echo "${my_main_content}" | tr -d '\f\r\n'`
my_main_content=`echo "${my_main_content}" | sed 's/\f//g' | sed 's/\r//g' | sed 's/\n//g' | sed 's/^M//g'`
my_all_content="${my_all_content}${my_main_content}"
fi
}
copyrights()
{
cr_flag=$1
if [ "${cr_flag}" == "head" ]
then
cr_time_from="00:00:00,500"
cr_time_to=${my_time_from}
else
time_calc `expr ${my_time_parsed} + 10000`
##cr_time_from=${my_time_to}
cr_time_from=${time_result}
time_calc `expr ${my_time_parsed} + 5000`
cr_time_to=${time_result}
fi
cr_time_result="${cr_time_from} --> ${cr_time_to}"
{
cr_flag=$1
if [ "${cr_flag}" == "head" ]
then
cr_time_from="00:00:00,500"
cr_time_to=${my_time_from}
else
time_calc `expr ${my_time_parsed} + 10000`
##cr_time_from=${my_time_to}
cr_time_from=${time_result}
time_calc `expr ${my_time_parsed} + 5000`
cr_time_to=${time_result}
fi
cr_time_result="${cr_time_from} --> ${cr_time_to}"
echo "${srt_i}" >> ${srt_file}
echo "${cr_time_result}" >> ${srt_file}
echo "<I>이 SRT 자막은</I> <B>박남규</B><I>가 만든 프로그램으로 변환함</I>" >> ${srt_file}
echo "<U><FONT COLOR=\"blue\">http://www.nkpark.pe.kr</FONT></U>" >> ${srt_file}
echo "" >> ${srt_file}
srt_i=`expr ${srt_i} + 1`
}
echo "${cr_time_result}" >> ${srt_file}
echo "<I>이 SRT 자막은</I> <B>박남규</B><I>가 만든 프로그램으로 변환함</I>" >> ${srt_file}
echo "<U><FONT COLOR=\"blue\">http://www.nkpark.pe.kr</FONT></U>" >> ${srt_file}
echo "" >> ${srt_file}
srt_i=`expr ${srt_i} + 1`
}
nkline=`cat "${smi_file}" | wc -l`
while [ ${i} -le ${nkline} ]
do
read line_input
li_len=`expr length "${line_input}"`
while [ ${i} -le ${nkline} ]
do
read line_input
li_len=`expr length "${line_input}"`
c=1
while [ ${c} -le ${li_len} ]
do
char_parsed=`expr substr "${line_input}" ${c} 1`
while [ ${c} -le ${li_len} ]
do
char_parsed=`expr substr "${line_input}" ${c} 1`
case ${char_parsed} in
\<)
if [ `expr length "${main_content}"` -gt 0 ]
then
##echo $main_content
main_content_calc "${main_content}"
main_content=
fi
tag_active_toggle=1
;;
\>)
tag_content="${tag_content}${char_parsed}"
if [ `expr length "${tag_content}"` -gt 0 ]
then
##echo $tag_content
tag_content_calc "${tag_content}"
tag_content=
fi
tag_active_toggle=0
;;
*)
if [ ${tag_active_toggle} -eq 0 ]
then
main_content="${main_content}${char_parsed}"
fi
;;
esac
\<)
if [ `expr length "${main_content}"` -gt 0 ]
then
##echo $main_content
main_content_calc "${main_content}"
main_content=
fi
tag_active_toggle=1
;;
\>)
tag_content="${tag_content}${char_parsed}"
if [ `expr length "${tag_content}"` -gt 0 ]
then
##echo $tag_content
tag_content_calc "${tag_content}"
tag_content=
fi
tag_active_toggle=0
;;
*)
if [ ${tag_active_toggle} -eq 0 ]
then
main_content="${main_content}${char_parsed}"
fi
;;
esac
if [ ${tag_active_toggle} -eq 1 ]
then
tag_content="${tag_content}${char_parsed}"
fi
then
tag_content="${tag_content}${char_parsed}"
fi
c=`expr ${c} + 1`
done
i=`expr ${i} + 1`
done < "${smi_file}"
done
i=`expr ${i} + 1`
done < "${smi_file}"
if [ ${start_active_toggle} -eq 1 ]
then
copyrights tail
fi
if [ -f ${srt_file} ]
then
chmod 666 ${srt_file}
fi
echo "[`date '+%Y-%m-%d %H:%M:%S'`] Finished"
7. nksmi2srt.sh 실행권한
chmod 777 /volume1/homes/root/nksmi2srt.sh
8. crontab 설정
vi /etc/crontab
마지막 행에 아래 내용을 추가(1시간마다 실행)
vi /etc/crontab
마지막 행에 아래 내용을 추가(1시간마다 실행)
## created by N.K Park
0 */1 * * * /volume1/homes/root/nkcrontab.sh > /volume1/homes/root/nkcrontab.log
9. crontab 재시작
synoservice -restart crond
synoservice -restart crond
여기까지 하시면, /volume1/video 밑에 있는 모든 폴더나 파일등
1시간마다 체크하여(8번에서 수정가능)
smi파일과 srt파일이 쌍으로 있으면 skip하고,
smi파일만 있는 것은 srt파일을 자동으로 생성합니다...
*** 본문수정(5.11일) 6번 nksmi2srt.sh version 1.0 -> 1.1 수정
빨간색으로 되어있는 sed 명령어 맨 마지막에서 ^M은 vi 편집기상에서 Ctrl+V 누르고 엔터키를 친 것입니다.
붙여넣기 하시면 안되니, 첨부파일을 참고하세요.
sed명령어로 완벽하게 작동합니다.
*** 본문수정(5.29일) 6번 nksmi2srt.sh version 1.1 -> 1.2 수정
srt 파일에 대해서 chmod 666 지정
*** 첨부로 쉘스크립트 파일도 같이 올립니다...
¾ðÁ¨°¡´Â ÀúµÎ »ç¿ëÇÒµíÇÕ´Ï´Ù.
tr¸í·É¾î¸¦ sed¸í·É¾î·Î ¹Ù²å½À´Ï´Ù.
½Ã³î·ÎÁö¿¡¼ ¿Ïº®ÇÏ°Ô ÀÛµ¿ÇÕ´Ï´Ù.
¸¸ÀÏ, ´Ù¸¥ ¸®´ª½º¿¡¼ »ç¿ëÇϽŴٸé
#!/bin/sh -> #!/bin/ksh ·Î ¼öÁ¤Çؼ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù...
÷ºÎÆÄÀÏ·Î ÁøÇàÇÏ¿´´Âµ¥ º¯È¯ÀÌ ¾ÈµÇ´Âµ¥ ¹«½¼ ¹®Á¦Àϱî¿ä?
Å͹̳ο¡¼ ¸í·É¾î¸¦ ÀÔ·ÂÇÏ¸é º¯È¯Àº °¡´ÉÇÕ´Ï´Ù.
shellÀ» È®ÀÎÇغ¸´Ï ash ½©À̳׿ä.
Å©·ÐÅÇÀ» vi ÆíÁý±â·Î ¿¾î¼ º¸½Ã¸é
vi /etc/crontab
0 */1 * * * /volume1/homes/root/nkcrontab.sh > /volume1/homes/root/nkcrontab.log^M
ÀÌ·±½ÄÀ¸·Î ÁÙ ¸¶Áö¸·¿¡ ^MÀÌ ºÙ¾îÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.
DOSÇü½ÄÀ¸·Î ÀúÀåÀ» ½ÃÅ°¸é ÀÌ·¸°Ô µË´Ï´Ù.
¸¶Áö¸· ^M Ư¼ö¹®ÀÚ¸¦ »èÁ¦ÇϽðí, Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.
±×¸®°í, Å©·Ð¿¡ °É¾ú´Ù°í ¹Ù·Î Áï½Ã ¼öÇàÀÌ ¾Æ´Ï¶ó
À§ÀÇ °æ¿ì 1½Ã°£ ÈÄ ºÎÅÍ ½ÇÇàÀÌ µË´Ï´Ù...
½Ã³î¸®Áö¿¡¼ ÀÛ¾÷ ½ºÄÉÁÙ¿¡ µî·ÏÇÏ¸é µÇ³×¿ä.
Å͹̳Πµé¾î°¡Áö ¾Ê°í µî·Ï µÇ¾î¼ ÆíÇѵí ^^
Çϳª º¸°ÇØÁÖ¼¼¿ä
ÆÄÀÏÀÌ ¸¸µé¾îÁú¶§ ±ÇÇÑÀÌ 644 ±ÇÇÑÀ̳׿ä ÆÄÀÏ ¸¸µé°í ³ª¼ 666 À¸·Î chmod ÇØÁà¾ß ÇÒµí ÇÕ´Ï´Ù.
^^
±×¸®°í Àú·¸°Ô cron¿¡ µî·ÏÇϴ°ͺ¸´Ù.
synology¿¡ ÀÛ¾÷ ½ºÄÉÁÙ·¯¿¡ µî·ÏÇϴ°ÍÀÌ ´õ ÁÁÀ»µíÇϳ׿ä.^^
¹Ù·Î Àû¿ëÇß¾î¿ä~
2. nkcrontab.sh ¿¡¼ Àڽſ¡ ¸Â°Ô ¼³Á¤
targetdir=/volume2/video # ºñµð¿À½ºÅ×ÀÌ¼Ç ¶óÀ̺귯¸® ÀúÀå Æú´õ
workdir=/volume1/homes/admin # Àú´Â root°¡ ¾ø¾î¼ ÀÖ´Â adminÀ¸·Î ÁöÁ¤Çß½À´Ï´Ù.
3. /volume1/homes/admin ¿¡ µÎ ÆÄÀÏÀ» º¹»ç
4. Á¦¾îÆÇ > ÀÛ¾÷ ½ºÄÉÁÙ·¯ > »ý¼º > »ç¿ëÀÚ Á¤ÀÇ ½ºÅ©¸³Æ® > ÀϹÝ
5. ÀÛ¾÷ : ÀÚ¸·»ý¼º
»ç¿ëÀÚ : admin
½ÇÇà¸í·É
/volume1/homes/admin/nkcrontab.sh > /volume1/homes/admin/nkcrontab.log
6. Á¦¾îÆÇ > ÀÛ¾÷ ½ºÄÉÁÙ·¯ > »ý¼º > »ç¿ëÀÚ Á¤ÀÇ ½ºÅ©¸³Æ® > ½ºÄÉÁÙ
³¯Â¥ : ¸ÅÀÏ
½Ã°£ : ¸Å 1½Ã°£
...
7. È®ÀÎ
8. »ý¼ºµÈ ÀÛ¾÷À» ¼±ÅÃÇÑ ÈÄ ½ÇÇà ¹öÆ° Ŭ¸¯
Á¤»óÀûÀ¸·Î ÀÛ¾÷ÀÌ ¿Ï·áµÇ¾úÀ¸¸é .srt ÆÄÀÏÀÌ °¢ÀÚÀÇ ¶óÀ̺귯¸® Æú´õ¿¡ Ãß°¡µÇ¾úÀ» °Ì´Ï´Ù.
±×·¯³ª ÀÚ¸·ÀÌ »ý¼ºµÈ °ÍÀº ÁÁ¾ÒÀ¸³ª ÀÚ¸·ÀÌ ¿µ»óÀÇ ¹Ø¿¡ Ãâ·ÂÀÌ µÇ¾î¼ ÀüüȸéÀ¸·Î ¸ø º¾´Ï´Ù. ÀÌ°Å ¾î¶»°Ô ÇØ¾ß Çϳª¿ä?
playerÀÇ ÀÚ¸· Ãâ·Â ¿É¼ÇÀ» »ìÆ캸¼Å¾ß ÇÒ µí ÇÕ´Ï´Ù.
ÀÏ´Ü Ã·ºÎÆÄÀÏ ´Ù¿î¹Þ¾Æ¼ /homes/root µð·¢Å丮 ¸¸µé¾î¼ °Å±â¿¡ ÷ºÎÆÄÀÏ 2°³ ³Ö¾î³ù±¸¿©
crontab µî·ÏÀº ¾ÈÇß±¸¿ä. º¯È¯ÀÌ Àߵdzª Å×½ºÆ® Çغ¼·Á±¸
/volume1/homes/root> ./nkcrontab.sh
À§¿Í °°ÀÌ ½ÇÇàÇÏ¿´´õ´Ï syntax error ¶ó°í °è¼Ó ¶ß³×¿ä.
¾î¶»°Ô ¹®Á¦ÇØ°áÀ» ÇؾߵÉÁö Ãʺ¸¶ó ÀÚ¼¼È÷ ¼³¸íÁ» ºÎŹ µå¸³´Ï´Ù.
Âü°í·Î.½Ã³î·ÎÁö »ç¿ë ÇÏ°í ÀÖ½À´Ï´Ù.
¾ÆÂü. ±×¸®°í sed ¸í·É¾î´Â º¯È¯Çϴ°Ŷû °ü°è°¡ Àմ°ǰ¡¿ä?
°Ë»öÇغ¸´Ï±î ±×³É editor °°´øµ¥¿ä. °°ÀÌ ¾î¶²½ÄÀ¸·Î º´ÇàÇؼ ½á¾ßµÇ´Â°ÇÁöµµ Á» °¡¸£ÃÄ ÁÖ¼¼¿ä
±×¸®°í, sed¸í·É¾î´Â º¯È¯ÇÏ´Â °Í°ú °ü·ÃÀÖÀ¸¸ç,
À§ ³»¿ë´ë·Î, ¾È³»ÇÑ´ë·Î »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
ÀÏ¹Ý ÅÇ¿¡¼´Â
ÀÛ¾÷: smi > srt ÀÚ¸· º¯È¯
»ç¿ëÀÚ: root
½ÇÇà¸í·É: /volume1/homes/root/nkcrontab.sh > /volume1/homes/root/nkcrontab.log
½ºÄÉÁÙ ÅÇ¿¡¼´Â
¿øÇÏ´Â ½Ã°£ µî·ÏÇϸé
crontab Çϴ°Ŷû ¶È°°³ª¿ä? ÀÌ·¸°Ô ½ºÄÉÁÙ·¯ Çϴ°Š¸Â´Â°ÇÁö¿ä?
nksmi2srt.sh °¡ ÇÁ·Î¼¼½º¿¡ °è¼Ó ³²¾Æ ÀÖ´øµ¥... ¿ø·¡ ±×·± °Ç°¡¿ä?
¹«ÇÑ·çÇÁ¶óµµ µ¹°í ÀÖ´Â °Ç ¾Æ´ÑÁö...