tarで日本語のファイル名が文字化けした
問題
さくらのレンタルサーバーのcronでファイルのバックアップをtarで取ろうとしたら、日本語を含むファイル名が文字化けして、エラーが出てました。
: Can't translate pathname 'home/xxxxxx/www/wp-content/uploads/2022/07/logo大.png' to UTF-8
答え
言語の設定が LANG=C などになっているのでは。
cronなら、環境変数の定義をそのまま書けばよい。
crontab -e の先頭に以下を追記する。
LANG=ja_JP.UTF-8 0 3 * * * tar ~~~
先頭にメール送信先を書くのと同じ形。
MAILTO=user@example.com 0 3 * * 0 hoge fuga
ログインシェルでは以下のようなコマンドで作業時の環境変数を設定する。
csh
$ setenv LANG ja_JP.UTF-8
bash
$ export LANG=ja_JP.UTF-8
いつもそのように設定されていてほしい場合は、.cshrc や .bashrc に書くとよい。
コメント