sh-Linux备份文件

#!/bin/bash
#datename=$(date +%Y%m%d%H%M%S)

usdtoldfile=/data/usdt/wallet.dat

usdtnewname=usdt$(date +%Y%m%d%H%M%S)wallet.dat

usdtdir=/data/wallet_bak/usdtwallet


# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$usdtdir" ]; then
   echo "该用户对$usdtdir文件夹没有权限"
else 
    echo "该用户对文件夹$usdtdir有权限"
fi

#-d判断文件夹是否存在
if [ ! -d "$usdtdir" ]; then  
    echo "$usdtdir 文件夹不存在,进行创建文件"
    mkdir -p "$usdtdir"   
else 
    echo "$usdtdir文件夹存在"
fi

# -f 参数判断 文件是否存在
if [ ! -f "$usdtoldfile" ]; then
    echo  "$usdtoldfile文件不存在"
else 
    echo  "$usdtoldfile文件存在"
fi 
#完成usdt备份
cp  $usdtoldfile $usdtdir/$usdtnewname

########################################################################
#BTC备份

btcoldfile=/data/bitcoin/wallet.dat

btcnewname=btc$(date +%Y%m%d%H%M%S)wallet.dat


btcdir=/data/wallet_bak/btcwallet

# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$btcdir" ]; then
   echo "该用户对$btcdir文件夹没有权限"
else 
    echo "该用户对文件夹$btcdir有权限"
fi

#-d判断文件夹是否存在
if [ ! -d "$btcdir" ]; then  
    echo "$btcdir 文件夹不存在,进行创建文件"
    mkdir -p "$btcdir"   
else 
    echo "$btcdir文件夹存在"
fi

# -f 参数判断 文件是否存在
if [ ! -f "$btcoldfile" ]; then
    echo  "$btcoldfile文件不存在"
else 
    echo  "$btcoldfile文件存在"
fi 
#完成BTC备份
cp  $btcoldfile $btcdir/$btcnewname



echo "完成"

接下来做个计划任务就行了:

crontab -e 编辑计划任务;

crontab -l 线上计划任务列表

 0 0 * * * sh  ./sh    -- 分 时 日 月 周   每天凌晨执行

<think>好的,用户的问题是关于在Linux系统中备份文件的方法或工具,以及最佳实践。首先,我需要回忆Linux常用的备份命令和工具,比如cp、rsync、tar等。根据用户提供的引用,引用[1]提到了备份是系统管理者的重要技能,引用[2]给出了使用cp命令备份目录的例子,引用[3]则涉及定时备份,结合crontab和tar。 用户可能需要详细步骤,包括基本命令、增量备份、自动化方法等。需要确保回答结构清晰,分步骤说明。同时,要参考用户提到的引用内容,比如cp -r、tar打包、crontab定时任务。可能还需要补充其他工具如rsync的优点,以及备份策略如全量/增量备份的区别。 还要注意用户可能的深层需求,比如数据安全、效率、恢复方法等。需要涵盖常用工具、自动化脚本、最佳实践建议,比如存储介质选择、验证备份、日志记录等。最后生成相关问题,帮助用户进一步了解。</think>### Linux系统文件备份方法与最佳实践 #### 一、基础备份工具 1. **cp命令** 最简单的文件复制命令,适合小规模备份: ```bash cp -r /path/to/source /path/to/backup_directory # 递归复制目录[^2] ``` 2. **tar打包** 将文件打包为压缩归档文件,支持多种压缩算法(gzip、bzip2): ```bash tar -czvf backup_$(date +%Y%m%d).tar.gz /path/to/source # 生成带时间戳的压缩包 ``` 3. **rsync增量备份** 仅同步变化内容,适合大规模数据备份,支持远程传输: ```bash rsync -avz --delete /path/to/source /path/to/backup # -a保留属性,-z压缩传输,--delete同步删除操作 ``` --- #### 二、自动化备份方案 1. **Shell脚本+crontab定时任务** 通过脚本定义备份逻辑,结合crontab实现定时执行[^3]: ```bash # backup.sh示例 #!/bin/bash tar -czf /backup/$(date +%Y%m%d).tar.gz /home/user/docs ``` 添加定时任务(每天凌晨2点执行): ```bash crontab -e 0 2 * * * /path/to/backup.sh ``` 2. **专用备份工具** - **BorgBackup**:支持去重、加密和压缩 ```bash borg create /backup::$(date +%Y%m%d) /path/to/source ``` - **Duplicity**:支持增量备份到云端(如S3、Google Drive) --- #### 三、备份策略与最佳实践 1. **3-2-1原则** - 保留3份备份 - 使用2种不同介质(如硬盘+云存储) - 1份异地备份 2. **验证与恢复测试** ```bash tar -tf backup.tar.gz # 查看归档内容 rsync --dry-run -avn source/ backup/ # 模拟同步过程 ``` 3. **关键建议** - 敏感数据需加密(如使用`gpg`或`openssl`) - 记录备份日志: ```bash echo "$(date): Backup completed" >> /var/log/backup.log ``` - 定期清理旧备份: ```bash find /backup -type f -mtime +30 -delete # 删除30天前的备份 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值