cp 스위치에 대한 의견 부탁

최원권(onebook)의 이미지

조그마한 BBS를 운영하고 있습니다.
자료실 또한 운영하고 있는데 이 자료를 NFS를 이용하여 다른 하드에 백업을 하고 있습니다. crontab 에 'cp -pru 원본 사본' 형태로 만들어 지금까지 잘 백업이 되었는데 요 며칠 전 백업되는 용량이 다르다는 것을 발견하고 원인을 파악해 보았습니다. 찾아낸 원인은 cp 명령어가 한 디렉토리의 파일 개수(약 3200)를 넘어서면 에러가(Argument list too long) 나는 것으로 잠정적으로 제가 결론을 내렸습니다. 맞는지 모르겠지만....
앞으로도 자료는 계속 회원들이 저장을 하게 되는데 해결 방법을 생각하다가 복사시 날짜별로 하는 방법이 없을까 고민하다고 cp 자료를 모두 찾아봐도 특정 날짜만을 복사한다거나 특정 날짜 이후에 복사한다거나 하는 옵션을 찾지 못하고 시간을 보내고 있습니다.
좋은 방법이 있다면 고수님들의 의견을 부탁합니다.

alfalf의 이미지

먼저 제 경우 'cp -a' 명령을 이용하는데 한 디렉토리에 수십만개의 파일이
있는 경우에도 복사에 큰 문제는 없었습니다. 다시한번더 확인해 보시고요.

find 명령을 이용하면 문제를 해결하실 수 있습니다.

예를 들어

find /data -atime +1 -exec cp -a {} /backup \; 

이렇게 하면 '/data' 이하 디렉토리에서 access 한지 24시간 이상된
파일들을 찾아 각각 '/backup' 디렉토리로 복사하라는 명령입니다.
그럼...

문재식의 이미지

-atime 연산자를 사용할 경우 -type 을 지정하지 않으면 find가 검색하면서 디렉토리를 액세스를 하게 되어 정확한 결과치를 구하지 못할 수도 있다고 합니다.

-mtime 1 : 하루전의 0 ~ 24시까지의 수정된 파일을 검색하고,
-mtime -1 : 오늘 0 ~ 현재까지 수정된 파일을 검색합니다.

이렇게 하면 어떨가요?
find /data -type f -mtime 1 -exec cp -a {} /backup \;[/code]

cdpark의 이미지

rsync의 --backup 옵션을 이용하는 게 수십배는 더 효율적입니다.
매뉴얼이나 관련 문서를 찾아보세요.

metaljin의 이미지

해당 문제만을 가지고 보면
cp 를 하실때 디렉토리가 아닌 그아래 파일을 지정하신 것 같습니다.
즉 cp -a a b 이렇게 하신게 아닌 cp -a a/* b 머 이런 식으로 하셨기 때문에
Argument list too long 에러가 나신것 같네요.
그냥 a 디렉토리 자체를 카피 하시면 나오지 않습니다.

만세

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.