HOME > ニュース
[日本語 | English]

/aptmp/(ユーザ名)/ のファイル・ディレクトリの整理のお願い

(更新日: 2023年10月25日)

対象者 : 計算サーバのユーザ(/aptmp/(ユーザ名) を利用されている方)
整理期間 : ~11月上旬までに
内容 : 11月中旬頃より、計算サーバの一時領域である /aptmp/ を、新システムの /aptmp/ へコピーする作業を4~5週間かけて行う予定です。 /aptmp/(ユーザ名)/ のファイル数・ディスク使用量が大きいと、移行作業期間内にファイルのコピーが完了しない恐れがあります。 そのため、まずは11月上旬までにユーザ様自身でファイルの整理をお願いします。
なお、ユーザ様ご自身で/aptmp/のバックアップを取得される、もしくは 既に保持しているなどで、/aptmp/ のデータ移行が不必要な場合は spradm@scl.kyoto-u.ac.jp までご連絡下さい。

ファイル・ディレクトリの整理

  • 不要なファイル・ディレクトリの削除をお願い致します。
  • 当面御利用の予定がないサイズが大きいファイルは gzip コマンドで圧縮して頂くようお願い致します。
    • 複数コアを使用して高速にgzip圧縮を行う pigz コマンドも御利用下さい
  • 当面御利用の予定がない多数のファイルを含むディレクトリは tar.gz 形式で圧縮して頂くようお願い致します。
    • サイズが〜数10kb以下の小さいファイルはrsyncコマンドのコピー速度が著しく低下しますので、小さいファイルが大量に存在するディレクトリは tar.gz 形式で圧縮して頂くようお願い致します
    • 複数コアを使用して高速にディレクトリの tar.gz 圧縮を行う targz コマンドを御利用下さい

現状の確認

/aptmp/ の使用量の確認


/aptmp/(ユーザ名) のディスク使用量、ファイル数は lfs-quota コマンドで確認できます。
$ lfs-quota
Disk quotas for usr ****** (uid ****):
     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
       /lustre/ 867585824       0       0       -   41408       0       0       -
-h オプションを付けると、ディスク使用量が kB, MB, GB, TB といった単位で表示されます。
$ lfs-quota -h
Disk quotas for usr ****** (uid ****):
     Filesystem    used   quota   limit   grace   files   quota   limit   grace
       /lustre/  827.4G      0k      0k       -   41408       0       0       -

ディレクトリのディスク使用量の確認


$ du -hs (ディレクトリ)
  • 例1: * で複数のディレクトリを指定することもできます
    $ du -hs /aptmp/xxx/*
  • ファイル数が多いとコマンドの実行に時間がかかります。
  • コマンドの実行に1時間以上かかる場合は、ディレクトリを圧縮するなどしてファイル数の削減をお願い致します。

ディレクトリ内のファイルのサイズ分布を確認


$ hist_filesize (ディレクトリ)
  • ファイル数が多いとコマンドの実行に時間がかかります。
  • コマンドの実行に1時間以上かかる場合は、ディレクトリを圧縮するなどしてファイル数の削減をお願い致します。

ファイルコピー時間の見積

rsyncコマンドでファイルをコピーする時間を見積もります。
hist_filesize コマンドの結果を copytime コマンドに与えて下さい。

$ hist_filesize (ディレクトリ) > hist_filesize.out
$ copytime hist_filesize.out
もしくは
$ hist_filesize (ディレクトリ) | copytime

条件を指定してファイルを検索

  • サイズが1GiB以上のファイルを出力。ファイルサイズも表示。
    $ find (ディレクトリ)/ -type f -size +1G -exec ls -lh {} \;
  • サイズが100MiB以上の .fasta ファイルを出力。ファイルサイズも表示。
    $ find (ディレクトリ)/ -type f -size +100M -name "*.fasta" -exec ls -lh {} \;
  • サイズが1GiB以上で .sra, .bam, .gz 形式でないファイルを出力。ファイルサイズも表示。
    $ find (ディレクトリ)/ -type f -size +1G ! -name "*.sra" ! -name "*.bam" ! -name "*.gz" -exec ls -lh {} \;
  • サイズが 2kb (2000バイト) 以下のファイルを出力。
    $ find (ディレクトリ)/ -type f -size -2000c
  • サイズが1GiB以上、かつ、更新日時が365日以上古いファイルを出力。ファイルサイズも表示。
    $ find (ディレクトリ)/ -type f -size +1G -mtime +365 -exec ls -lh {} \;

ファイル・ディレクトリの整理を行うコマンド

pigzコマンドを使用して高速にファイルを圧縮


$ pigz -p (使用コア数) (ファイル)
  • pigz コマンドは複数コアを使用して高速にgzip圧縮を行うコマンドです
  • pigz コマンドで圧縮したファイルは通常の gunzip コマンドで展開できます。
  • バイオインフォマティクスで使用される.sra, .bam ファイルはgzip圧縮がほとんど効かないのでgzip圧縮をしないで下さい。
  • 例1: 指定したディレクトリ下にある .fastq ファイルを圧縮するスクリプト
    #!/bin/sh
    #PBS -q APC
    #PBS -l select=1:ncpus=10:mem=32gb
    
    find (ディレクトリ) -type f -name "*.fastq" -print -exec pigz -p 10 {} \;
    
  • 例2: 指定したディレクトリ下にある .fastq ファイルを圧縮するスクリプト(圧縮前後のファイルサイズも表示)
    #!/bin/sh
    #PBS -q APC
    #PBS -l select=1:ncpus=10:mem=32gb
    
    find (ディレクトリ) -type f -name "*.fastq" -exec ls -lh {} \; -exec pigz -p 10 {} \; -exec ls -lh {}.gz \;
    

targz コマンドでディレクトリを tar.gz 形式で圧縮


$ targz -p (使用コア数) (ディレクトリ)
$ targz -p (使用コア数) --rm (ディレクトリ)  # --rm オプションを付けると圧縮後に(ディレクトリ)を削除します
  • targz コマンドはディレクトリを tar コマンドで固めてpigz コマンドで高速にgzip圧縮を行います。
  • 「targz -p 20 --rm /a/b/c/」 を実行した場合の挙動は以下の通りです。
    cd /a/b/                              # c/ディレクトリがあるディレクトリに移動
    tar cvf - c/ | pigz -p 20 > c.tar.gz  # c/ディレクトリを圧縮
    tar atf c.tar.gz                      # c.tar.gz が壊れていないかチェック
    /bin/rm -rf c/                        # c/ディレクトリ を削除
    
    (注) 直接 tar cvf - /a/b/c/ するのではなく、/a/b/ に移動してから c/ を圧縮します。最終的に生成されるファイルは /a/b/c.tar.gz となります。
  • 例1: ディレクトリを圧縮後に削除するスクリプト
    #!/bin/sh
    #PBS -q APC
    #PBS -l select=1:ncpus=10:mem=32gb
    
    targz -p 10 --rm (ディレクトリ)
    

変更履歴

日付 内容
2023/08/9 初版
2023/10/25 スケジュール遅延のため、コピー開始時期を変更