可用于自动备份数据,只需把 someone@example.com
和 password
分别换成你的 1fichier 登录邮箱和登录密码,保存为 backup.sh
或者其他任意名称,然后放到你需要备份的文件夹,再配置定时任务每隔一段时间运行一次即可。运行后会将当前脚本所在的全部文件打包成zip保存在 backup
文件夹下,文件名格式为 backup_[时间].zip
,可通过修改 prefix
变量的值来修改文件名中的前缀。
注意:使用脚本前请先安装 zip 和 ftp 命令。你需要在 1fichier 中打开自动处理 ftp 上传,否则需要手动将通过 ftp 上传的文件保存到 1fichier 中。可以点这里直达设置。
#!/usr/bin/env bash
prefix="backup_" # 压缩包文件名前缀
backup_dir=$(cd $(dirname $0);pwd)
output_dir="${backup_dir}/backup" #
username="someone@example.com" # 用户名
password="password" # 密码
output_file_name="${prefix}"$(TZ=UTC-8 date +"%Y%m%d%H%M%S").zip
output_file_path="${output_dir}/${output_file_name}"
echo -e "Packing files into ${output_file_path}... \c"
if [ ! -d ${output_dir} ]; then
mkdir -p ${output_dir}
fi
cd $backup_dir
zip -q -r ${output_file_path} ./ -x "./*/${prefix}*.zip"
if [ ! -f ${output_file_path} ]; then
echo "Error!"
exit 1
fi
echo "Done."
echo "Uploading ${output_file_path}..."
ftp -i -n <<!
passive
open ftp.1fichier.com
user ${username} ${password}
lcd ${output_dir}
put ${output_file_name}
bye
!
echo "Done!"