4

Я хотел бы создать задание cron, которое загружает файлы из каталога на моем компьютере на мой FTP-сервер. Я хотел бы сделать это ежедневно в полночь. Я почти ничего не знаю о cron, поэтому извиняюсь, если выгляжу глупо!

2 ответа2

10

Это пример сценария FTP для передачи одного файла: (Обратите внимание, что вы можете использовать полное доменное имя вместо IP)

#!/bin/bash

# $1 is the file name for the you want to tranfer
# usage: this_script  <filename>
IP_address="xx.xxx.xx.xx"
username="remote_ftp_username"
domain = sample.domain.ftp
password= password

ftp -n > ftp_$$.log <<EOF
 verbose
 open $IP_address
 USER $username $password
 put $1
 bye
EOF

Добавляйте > ftp_$$.log Только если вам нужна регистрация. Тогда вы можете использовать

crontab -e

Команда для редактирования таблицы cronjob и добавить свой скрипт.

Это пример:

Если вам понравился скрипт выше (предположим, что он у вас дома и его имя myscript.sh) /home/myscript.sh, запускайте его каждый день в 2 часа ночи, вы должны сделать:

# crontab -e

а затем вы должны добавить следующую запись:

0 2 * * * /home/myscript.sh

Для справки, здесь у вас есть параметры записи crontab, означающие:

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

Этот урок также может помочь вам.

0

Человек crontab покажет вам, что вам нужно. Вы хотите что-то вроде:

0 0 * * *  yourScript.sh

в вашем файле crontab. Обратите внимание, что сценарии в cron запускаются в урезанной среде, поэтому вам придется указать настройки env, которые требуются сценарию в этом сценарии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .