我想在 Ubuntu 14.04 LTS - Server Ed. 上创建每月自动备份,使用以下命令:
$ tar -cvpz --exclude=/bckupftp --exclude=/ser --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys / | split -d -b 750m - /bckupftp/backup20160422-041400.tar.gz
我在备份文件名中添加了日期和时间。如果可以自动将其设置为实际备份日期/时间就太好了。对于cronjob
2016 年 5 月 1 日凌晨 1 点运行的一组文件,备份文件名将是:/bckupftp/backup20160501-010000.tar.gz
。
有人可以帮我设置cronjob
这个命令吗? 谢谢,凯文
答案1
要为当前非 root 用户设置 cronjob,请在终端中执行以下操作:
$ crontab -e
上述命令将打开您(非root)用户的crontab
默认编辑器。
或者,对 root 执行此操作crontab
,但使用 yr 存在(大概是非 root)用户环境参数(默认编辑器等):
$ sudo -i crontab -e
在 yr closed 中crontab
输入一个新行:
0 01 01 * * /bin/tar -cvpz --exclude=/bckupftp --exclude=/ser --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys / | /usr/bin/split -d -b 750m - /bckupftp/backup$(/bin/date +\%Y\%m\%d-\%H\%M\%S).tar.gz
(我没有检查你的命令的有效性tar
。)
注意:
crontab
使用 24 小时制时钟,军事风格:15
表示下午 3 点,03
表示凌晨 3 点,等等。上述
cron
条目在每月第一天的 01:00 点运行。在终端中,输入:man crontab
获取有关 crontab 格式的更多信息。在 中
crontab
,在 cmd 前面加上其完整路径是一个好习惯。要查找任何非内置 cmd 的完整路径,请在终端中执行$ which <cmd>
。因此,tar
cmd 变为/bin/tar
,split
变为/usr/bin/split
,等等。只要您保存新编辑的内容
crontab
,cron
作业就会立即生效。无需重新启动、注销并重新登录或重新启动任何服务。保存 yr 备份文件时,时间戳的格式为 YYYYMMDD-HHMMSS。如果您需要更精确的格式,请尝试
%S
在%s
yrcrontab
条目中替换。我确信(意思是“100% 有可能”)您可以在 AU、SE 以及其他论坛中找到上述所有内容的详细解释。请记住首页是你的朋友。
答案2
创建文件:/etc/cron.monthly/backups.sh
通过以下方式使其可执行:$ chmod +x /etc/cron.monthly/backups.sh
为了整理它,创建一个变量:
DATE=`date +%Y.%m.%d-%H.%M.%S` # eg. 2016.04.22-13.01.59
然后引用上面的命令:
/bckupftp/backup${DATE}.tar.gz
它将生成类似如下的文件:
/bckupftp/backup2016.04.22-13.01.59.tar.gz
请根据您的喜好和需要随意删除点。